<?xml version="1.0" encoding="US-ASCII" standalone="no"?>
<!--Generated by ThunderDome XBRL - 01:19AM UTC 2021-03-23--><xbrli:xbrl xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns="http://www.xbrl.org/2003/instance" xmlns:country="http://xbrl.sec.gov/country/2020-01-31" xmlns:currency="http://xbrl.sec.gov/currency/2020-01-31" xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31" xmlns:dsgx="http://www.descartes.com/20210131" xmlns:exch="http://xbrl.sec.gov/exch/2020-01-31" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:naics="http://xbrl.sec.gov/naics/2011-01-31" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:sic="http://xbrl.sec.gov/sic/2020-01-31" xmlns:srt="http://fasb.org/srt/2020-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2018-01-31" xmlns:thunderdome="http://www.RDGFilings.com" xmlns:us-gaap="http://fasb.org/us-gaap/2020-01-31" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <link:schemaRef xlink:href="dsgx-20210131.xsd" xlink:type="simple"/>
  <dei:AmendmentFlag contextRef="d_2020-02-01_2021-01-31" id="c-54">false</dei:AmendmentFlag>
  <dei:CurrentFiscalYearEndDate contextRef="d_2020-02-01_2021-01-31" id="c-40">--01-31</dei:CurrentFiscalYearEndDate>
  <dei:DocumentFiscalPeriodFocus contextRef="d_2020-02-01_2021-01-31" id="c-53">FY</dei:DocumentFiscalPeriodFocus>
  <dei:DocumentFiscalYearFocus contextRef="d_2020-02-01_2021-01-31" id="c-52">2021</dei:DocumentFiscalYearFocus>
  <dei:DocumentPeriodEndDate contextRef="d_2020-02-01_2021-01-31" id="c-51">2021-01-31</dei:DocumentPeriodEndDate>
  <dei:DocumentType contextRef="d_2020-02-01_2021-01-31" id="c-50">40-F</dei:DocumentType>
  <dei:EntityCentralIndexKey contextRef="d_2020-02-01_2021-01-31" id="c-39">0001050140</dei:EntityCentralIndexKey>
  <dei:EntityCommonStockSharesOutstanding contextRef="i_2021-01-31" decimals="INF" id="c-48" unitRef="xbrli-shares">84494658</dei:EntityCommonStockSharesOutstanding>
  <dei:EntityCurrentReportingStatus contextRef="d_2020-02-01_2021-01-31" id="c-42">Yes</dei:EntityCurrentReportingStatus>
  <dei:EntityEmergingGrowthCompany contextRef="d_2020-02-01_2021-01-31" id="c-45">false</dei:EntityEmergingGrowthCompany>
  <dei:EntityInteractiveDataCurrent contextRef="d_2020-02-01_2021-01-31" id="c-47">Yes</dei:EntityInteractiveDataCurrent>
  <dei:EntityRegistrantName contextRef="d_2020-02-01_2021-01-31" id="c-38">DESCARTES SYSTEMS GROUP INC</dei:EntityRegistrantName>
  <dsgx:AccountsReceivableAllowanceForCreditLossEffectsOfForeignExchange contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145464" unitRef="iso4217-usd">64000</dsgx:AccountsReceivableAllowanceForCreditLossEffectsOfForeignExchange>
  <dsgx:AmountsRecoverableFromFundsHeldInEscrow contextRef="i_2021-01-31" decimals="-3" id="c71146419" unitRef="iso4217-usd">200000</dsgx:AmountsRecoverableFromFundsHeldInEscrow>
  <dsgx:AmountsRecoverableFromFundsHeldInEscrow contextRef="i_2020-01-31" decimals="-3" id="c71146420" unitRef="iso4217-usd">0</dsgx:AmountsRecoverableFromFundsHeldInEscrow>
  <dsgx:BaseAnnualFeePercent contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-DeferredShareUnitPlanMember" decimals="1" id="c71146164" unitRef="xbrli-pure">0.5</dsgx:BaseAnnualFeePercent>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember" decimals="-3" id="c71145153" unitRef="iso4217-usd">-42000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-KontainersMember" decimals="-3" id="c71145154" unitRef="iso4217-usd">-218000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember" decimals="-3" id="c71145155" unitRef="iso4217-usd">82000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" decimals="-3" id="c71145156" unitRef="iso4217-usd">-178000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c71152963" unitRef="iso4217-usd">1147000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c71152964" unitRef="iso4217-usd">62000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c71152965" unitRef="iso4217-usd">250000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" id="c71152966" unitRef="iso4217-usd" xs:nil="true"/>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c71152967" unitRef="iso4217-usd">1459000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c71153155" unitRef="iso4217-usd">-152000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" decimals="-3" id="c71153156" unitRef="iso4217-usd">-102000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c71153157" unitRef="iso4217-usd">36000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c71153158" unitRef="iso4217-usd">-218000</dsgx:BusinessAcquisitionCostOfAcquiredEntityWorkingCapitalAdjustments>
  <dsgx:BusinessCombinationConsiderationTransferredPayable contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember" id="c71145145" unitRef="iso4217-usd" xs:nil="true"/>
  <dsgx:BusinessCombinationConsiderationTransferredPayable contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-KontainersMember" decimals="-3" id="c71145146" unitRef="iso4217-usd">100000</dsgx:BusinessCombinationConsiderationTransferredPayable>
  <dsgx:BusinessCombinationConsiderationTransferredPayable contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember" id="c71145147" unitRef="iso4217-usd" xs:nil="true"/>
  <dsgx:BusinessCombinationConsiderationTransferredPayable contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" decimals="-3" id="c71145148" unitRef="iso4217-usd">100000</dsgx:BusinessCombinationConsiderationTransferredPayable>
  <dsgx:BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets contextRef="d_2020-06-10_2020-06-10_BusinessAcquisitionAxis-KontainersMember" id="c71146312">P2Y</dsgx:BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets>
  <dsgx:BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets contextRef="d_2020-11-06_2020-11-06_BusinessAcquisitionAxis-ShipTrackMember" id="c71146319">P2Y</dsgx:BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets>
  <dsgx:BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets contextRef="d_2019-05-10_2019-05-10_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" id="c71146342">P2Y</dsgx:BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets>
  <dsgx:BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets contextRef="d_2018-08-21_2018-08-21_BusinessAcquisitionAxis-PinPointMember" id="c71146382">P2Y</dsgx:BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets>
  <dsgx:BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-COREKontainersAndShipTrackMember" id="c71146476">P2Y</dsgx:BusinessCombinationContingentConsiderationArrangementsPeriodForRevenuePerformanceTargets>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation contextRef="i_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember" id="c71145177" unitRef="iso4217-usd" xs:nil="true"/>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation contextRef="i_2021-01-31_BusinessAcquisitionAxis-KontainersMember" id="c71145178" unitRef="iso4217-usd" xs:nil="true"/>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation contextRef="i_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember" decimals="-3" id="c71145179" unitRef="iso4217-usd">151000</dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation contextRef="i_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" decimals="-3" id="c71145180" unitRef="iso4217-usd">151000</dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c71153003" unitRef="iso4217-usd">1188000</dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c71153004" unitRef="iso4217-usd">68000</dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c71153005" unitRef="iso4217-usd">232000</dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c71153006" unitRef="iso4217-usd">194000</dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c71153007" unitRef="iso4217-usd">1682000</dsgx:BusinessCombinationRecognizedIdentifiableAssetAcquiredAndLiabilityAssumedOperatingLeaseObligation>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets contextRef="i_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember" id="c71145165" unitRef="iso4217-usd" xs:nil="true"/>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets contextRef="i_2021-01-31_BusinessAcquisitionAxis-KontainersMember" id="c71145166" unitRef="iso4217-usd" xs:nil="true"/>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets contextRef="i_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember" decimals="-3" id="c71145167" unitRef="iso4217-usd">151000</dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets contextRef="i_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" decimals="-3" id="c71145168" unitRef="iso4217-usd">151000</dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c71152988" unitRef="iso4217-usd">1188000</dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c71152989" unitRef="iso4217-usd">68000</dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c71152990" unitRef="iso4217-usd">232000</dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c71152991" unitRef="iso4217-usd">194000</dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets>
  <dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c71152992" unitRef="iso4217-usd">1682000</dsgx:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightofuseAssets>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember" decimals="-3" id="c71145189" unitRef="iso4217-usd">2654000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2021-01-31_BusinessAcquisitionAxis-KontainersMember" decimals="-3" id="c71145190" unitRef="iso4217-usd">838000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember" decimals="-3" id="c71145191" unitRef="iso4217-usd">3766000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" decimals="-3" id="c71145192" unitRef="iso4217-usd">7258000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c71153013" unitRef="iso4217-usd">-25968000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c71153014" unitRef="iso4217-usd">1225000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c71153015" unitRef="iso4217-usd">2276000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c71153016" unitRef="iso4217-usd">795000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c71153017" unitRef="iso4217-usd">-21672000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c71153183" unitRef="iso4217-usd">4883000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" decimals="-3" id="c71153184" unitRef="iso4217-usd">-1757000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c71153185" unitRef="iso4217-usd">2611000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c71153186" unitRef="iso4217-usd">5737000</dsgx:BusinessCombinationRecognizedIdentifiableTangibleAssetsAcquiredAndLiabilitiesAssumedNet>
  <dsgx:CRSUAwardNonvestedNumber contextRef="i_2021-01-31" decimals="INF" id="c71145812" unitRef="xbrli-shares">38628</dsgx:CRSUAwardNonvestedNumber>
  <dsgx:CRSUAwardNonvestedWeightedAverageContractualLife contextRef="d_2020-02-01_2021-01-31" id="c71145813">P1Y182D</dsgx:CRSUAwardNonvestedWeightedAverageContractualLife>
  <dsgx:CRSUAwardsForfeitedInPeriod contextRef="d_2020-02-01_2021-01-31" decimals="INF" id="c71145808" unitRef="xbrli-shares">248</dsgx:CRSUAwardsForfeitedInPeriod>
  <dsgx:CRSUAwardsGrantsInPeriod contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c71145798" unitRef="xbrli-shares">30086</dsgx:CRSUAwardsGrantsInPeriod>
  <dsgx:CRSUAwardsGrantsInPeriod contextRef="d_2020-02-01_2021-01-31" decimals="INF" id="c71145804" unitRef="xbrli-shares">26629</dsgx:CRSUAwardsGrantsInPeriod>
  <dsgx:CRSUAwardsOutstandingNumber contextRef="i_2019-01-31" decimals="INF" id="c71145796" unitRef="xbrli-shares">45063</dsgx:CRSUAwardsOutstandingNumber>
  <dsgx:CRSUAwardsOutstandingNumber contextRef="i_2020-01-31" decimals="INF" id="c71145802" unitRef="xbrli-shares">42727</dsgx:CRSUAwardsOutstandingNumber>
  <dsgx:CRSUAwardsOutstandingNumber contextRef="i_2021-01-31" decimals="INF" id="c71145810" unitRef="xbrli-shares">38628</dsgx:CRSUAwardsOutstandingNumber>
  <dsgx:CRSUAwardsVestedAndSettledInCash contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c71145800" unitRef="xbrli-shares">32422</dsgx:CRSUAwardsVestedAndSettledInCash>
  <dsgx:CRSUAwardsVestedAndSettledInCash contextRef="d_2020-02-01_2021-01-31" decimals="INF" id="c71145806" unitRef="xbrli-shares">30340</dsgx:CRSUAwardsVestedAndSettledInCash>
  <dsgx:CRSUAwardsWeightedAverageContractualLife contextRef="d_2018-02-01_2019-01-31" id="c71145797">P1Y219D</dsgx:CRSUAwardsWeightedAverageContractualLife>
  <dsgx:CRSUAwardsWeightedAverageContractualLife contextRef="d_2019-02-01_2020-01-31" id="c71145803">P1Y219D</dsgx:CRSUAwardsWeightedAverageContractualLife>
  <dsgx:CRSUAwardsWeightedAverageContractualLife contextRef="d_2020-02-01_2021-01-31" id="c71145811">P1Y182D</dsgx:CRSUAwardsWeightedAverageContractualLife>
  <dsgx:CashSettledRestrictedShareUnitsCompensationExpense contextRef="d_2020-02-01_2021-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember" decimals="-3" id="c71146587" unitRef="iso4217-usd">1100000</dsgx:CashSettledRestrictedShareUnitsCompensationExpense>
  <dsgx:CashSettledRestrictedShareUnitsCompensationExpense contextRef="d_2019-02-01_2020-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember" decimals="-3" id="c71146588" unitRef="iso4217-usd">900000</dsgx:CashSettledRestrictedShareUnitsCompensationExpense>
  <dsgx:CashSettledRestrictedShareUnitsCompensationExpense contextRef="d_2018-02-01_2019-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember" decimals="-3" id="c71146589" unitRef="iso4217-usd">800000</dsgx:CashSettledRestrictedShareUnitsCompensationExpense>
  <dsgx:CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71146467" unitRef="iso4217-usd">1500000</dsgx:CashSettledRestrictedShareUnitsNonvestedTotalCompensationCostNotYetRecognized>
  <dsgx:CashSettledRestrictedShareUnitsVestingPeriod contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-CashsettledRestrictedSharePlanMember_RangeAxis-MinimumMember" id="c71146166">P3Y</dsgx:CashSettledRestrictedShareUnitsVestingPeriod>
  <dsgx:CashSettledRestrictedShareUnitsVestingPeriod contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-CashsettledRestrictedSharePlanMember_RangeAxis-MaximumMember" id="c71146167">P5Y</dsgx:CashSettledRestrictedShareUnitsVestingPeriod>
  <dsgx:ContractWithCustomerAssetIncreaseDecreaseForForeignExchange contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145987" unitRef="iso4217-usd">-6000</dsgx:ContractWithCustomerAssetIncreaseDecreaseForForeignExchange>
  <dsgx:ContractWithCustomerAssetIncreaseDecreaseForForeignExchange contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145991" unitRef="iso4217-usd">26000</dsgx:ContractWithCustomerAssetIncreaseDecreaseForForeignExchange>
  <dsgx:ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145986" unitRef="iso4217-usd">791000</dsgx:ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet>
  <dsgx:ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145990" unitRef="iso4217-usd">783000</dsgx:ContractWithCustomerAssetIncreaseDecreaseForTermLicensesNet>
  <dsgx:ContractWithCustomerContractAssetBeforeAdoptionOfASC606 contextRef="i_2019-01-31" decimals="-3" id="c71145984" unitRef="iso4217-usd">812000</dsgx:ContractWithCustomerContractAssetBeforeAdoptionOfASC606>
  <dsgx:ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145975" unitRef="iso4217-usd">-407000</dsgx:ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange>
  <dsgx:ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145980" unitRef="iso4217-usd">646000</dsgx:ContractWithCustomerLiabilityIncreaseDecreaseForForeignExchange>
  <dsgx:ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145973" unitRef="iso4217-usd">37408000</dsgx:ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue>
  <dsgx:ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145978" unitRef="iso4217-usd">46386000</dsgx:ContractWithCustomerLiabilityIncreaseFromDeferralOfRevenue>
  <dsgx:CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals contextRef="d_2020-02-01_2021-01-31_RangeAxis-MinimumMember" id="c71146148">P4Y</dsgx:CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals>
  <dsgx:CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals contextRef="d_2020-02-01_2021-01-31_RangeAxis-MaximumMember" id="c71146149">P6Y</dsgx:CostsToObtainAContractWithACustomerPeriodOfBenefitIncludingRenewals>
  <dsgx:DeferredShareUnitLiabilityNumberOfCommonShares contextRef="i_2021-01-31" decimals="INF" id="c71146469" unitRef="xbrli-shares">226525</dsgx:DeferredShareUnitLiabilityNumberOfCommonShares>
  <dsgx:DeferredShareUnitsCompensationExpense contextRef="d_2020-02-01_2021-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="-3" id="c71146578" unitRef="iso4217-usd">4600000</dsgx:DeferredShareUnitsCompensationExpense>
  <dsgx:DeferredShareUnitsCompensationExpense contextRef="d_2019-02-01_2020-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="-3" id="c71146579" unitRef="iso4217-usd">5000000</dsgx:DeferredShareUnitsCompensationExpense>
  <dsgx:DeferredShareUnitsCompensationExpense contextRef="d_2018-02-01_2019-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="-3" id="c71146580" unitRef="iso4217-usd">2200000</dsgx:DeferredShareUnitsCompensationExpense>
  <dsgx:DeferredShareUnitsGrantsInPeriod contextRef="d_2020-02-01_2021-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="INF" id="c71146574" unitRef="xbrli-shares">23369</dsgx:DeferredShareUnitsGrantsInPeriod>
  <dsgx:DeferredShareUnitsNonvestedTotalCompensationCostNotYetRecognized contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71146466" unitRef="iso4217-usd">0</dsgx:DeferredShareUnitsNonvestedTotalCompensationCostNotYetRecognized>
  <dsgx:DeferredShareUnitsOutstandingNumber contextRef="i_2021-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="INF" id="c71146569" unitRef="xbrli-shares">226525</dsgx:DeferredShareUnitsOutstandingNumber>
  <dsgx:DeferredShareUnitsOutstandingNumber contextRef="i_2020-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="INF" id="c71146570" unitRef="xbrli-shares">251422</dsgx:DeferredShareUnitsOutstandingNumber>
  <dsgx:DeferredShareUnitsRedeemedAndSettledInCash contextRef="d_2020-02-01_2021-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="INF" id="c71146575" unitRef="xbrli-shares">48266</dsgx:DeferredShareUnitsRedeemedAndSettledInCash>
  <dsgx:DeferredTaxAssetsCorporateMinimumTaxes contextRef="i_2021-01-31" decimals="-3" id="c71145859" unitRef="iso4217-usd">1596000</dsgx:DeferredTaxAssetsCorporateMinimumTaxes>
  <dsgx:DeferredTaxAssetsCorporateMinimumTaxes contextRef="i_2020-01-31" id="c71145860" unitRef="iso4217-usd" xs:nil="true"/>
  <dsgx:DeferredTaxAssetsLiabilitesNet1 contextRef="i_2021-01-31" decimals="-3" id="c71145879" unitRef="iso4217-usd">-14168000</dsgx:DeferredTaxAssetsLiabilitesNet1>
  <dsgx:DeferredTaxAssetsLiabilitesNet1 contextRef="i_2020-01-31" decimals="-3" id="c71145880" unitRef="iso4217-usd">6535000</dsgx:DeferredTaxAssetsLiabilitesNet1>
  <dsgx:DeferredTaxAssetsNetBeforeValuationAllowance contextRef="i_2021-01-31" decimals="-3" id="c71145875" unitRef="iso4217-usd">-2803000</dsgx:DeferredTaxAssetsNetBeforeValuationAllowance>
  <dsgx:DeferredTaxAssetsNetBeforeValuationAllowance contextRef="i_2020-01-31" decimals="-3" id="c71145876" unitRef="iso4217-usd">17005000</dsgx:DeferredTaxAssetsNetBeforeValuationAllowance>
  <dsgx:DeferredTaxCharges contextRef="d_2020-02-01_2021-01-31" id="c71145082" unitRef="iso4217-usd" xs:nil="true"/>
  <dsgx:DeferredTaxCharges contextRef="d_2019-02-01_2020-01-31" id="c71145083" unitRef="iso4217-usd" xs:nil="true"/>
  <dsgx:DeferredTaxCharges contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145084" unitRef="iso4217-usd">-49000</dsgx:DeferredTaxCharges>
  <dsgx:DerivativeInstrumentCommonSharesHeldPerShare contextRef="i_2021-01-31" decimals="INF" id="c71146405" unitRef="iso4217-usd-per-xbrli-shares">25.70</dsgx:DerivativeInstrumentCommonSharesHeldPerShare>
  <dsgx:DerivativeInstrumentSharesOfCommonStockHeld contextRef="i_2021-01-31" decimals="INF" id="c71146404" unitRef="xbrli-shares">226525</dsgx:DerivativeInstrumentSharesOfCommonStockHeld>
  <dsgx:EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145904" unitRef="iso4217-usd">1289000</dsgx:EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions>
  <dsgx:EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145905" unitRef="iso4217-usd">-1042000</dsgx:EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions>
  <dsgx:EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145906" unitRef="iso4217-usd">-515000</dsgx:EffectiveIncomeTaxRateReconciliationIncreaseDecreaseInAccrualsForUncertainTaxPositions>
  <dsgx:IncomeBeforeTaxesPercent contextRef="d_2020-02-01_2021-01-31" decimals="2" id="c71146596" unitRef="xbrli-pure">0.26</dsgx:IncomeBeforeTaxesPercent>
  <dsgx:IncomeBeforeTaxesPercent contextRef="d_2019-02-01_2020-01-31" decimals="2" id="c71146597" unitRef="xbrli-pure">0.23</dsgx:IncomeBeforeTaxesPercent>
  <dsgx:IncomeBeforeTaxesPercent contextRef="d_2018-02-01_2019-01-31" decimals="2" id="c71146598" unitRef="xbrli-pure">0.21</dsgx:IncomeBeforeTaxesPercent>
  <dsgx:IncreaseDecreaseInOperatingLeaseLiabilities contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71146041" unitRef="iso4217-usd">283000</dsgx:IncreaseDecreaseInOperatingLeaseLiabilities>
  <dsgx:IncreaseDecreaseInOperatingLeaseLiabilities contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71146042" unitRef="iso4217-usd">546000</dsgx:IncreaseDecreaseInOperatingLeaseLiabilities>
  <dsgx:IncreaseDecreaseInOperatingLeaseLiabilities contextRef="d_2018-02-01_2019-01-31" id="c71146043" unitRef="iso4217-usd" xs:nil="true"/>
  <dsgx:NetWorkingCapitalAdjustmentsReceivableFromAcquisitions contextRef="i_2021-01-31" decimals="-3" id="c71145466" unitRef="iso4217-usd">237000</dsgx:NetWorkingCapitalAdjustmentsReceivableFromAcquisitions>
  <dsgx:NetWorkingCapitalAdjustmentsReceivableFromAcquisitions contextRef="i_2020-01-31" id="c71145467" unitRef="iso4217-usd" xs:nil="true"/>
  <dsgx:OtherReceivablesTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-8">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 74%; text-align: left"&gt;Net working capital adjustments receivable from acquisitions&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;237&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Other receivables&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;14,593&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7,294&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;14,830&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7,294&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</dsgx:OtherReceivablesTableTextBlock>
  <dsgx:OtherReceivablesTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792205">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6&lt;/div&gt; &amp;#x2013; Other Receivables&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 74%; text-align: left"&gt;Net working capital adjustments receivable from acquisitions&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;237&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Other receivables&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;14,593&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7,294&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;14,830&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7,294&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Other receivables include receivables related to sales and use taxes, income taxes, non-trade receivables and contract assets. At &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.2&lt;/div&gt; million (&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;nil&lt;/div&gt; as at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2020) &lt;/div&gt;of the net working capital adjustments receivable from acquisitions is recoverable from amounts held in escrow related to the respective acquisitions.&lt;/div&gt;&lt;/div&gt;</dsgx:OtherReceivablesTextBlock>
  <dsgx:OverallotmentOption contextRef="d_2019-06-10_2019-06-10" decimals="2" id="c71146497" unitRef="xbrli-pure">0.15</dsgx:OverallotmentOption>
  <dsgx:ProceedsFromIssuanceOfCommonStockNet contextRef="d_2019-06-10_2019-06-10" decimals="-5" id="c71146499" unitRef="iso4217-usd">236600000</dsgx:ProceedsFromIssuanceOfCommonStockNet>
  <dsgx:ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-24">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Number of CRSUs Outstanding&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Weighted- Average Remaining Contractual Life (years)&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 74%"&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;45,063&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1.6&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;30,086&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Vested and settled in cash&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(32,422&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;42,727&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1.6&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26,629&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Vested and settled in cash&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(30,340&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; padding-bottom: 1pt"&gt;Forfeited&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(248&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2021&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;38,628&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1.5&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;Non-vested at January 31, 2021&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;38,628&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1.5&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</dsgx:ScheduleOfCashSettledRestrictedShareUnitPlanActivityTableTextBlock>
  <dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable contextRef="i_2021-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="-5" id="c71145767" unitRef="iso4217-usd">32800000</dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable>
  <dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable contextRef="i_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-5" id="c71145795" unitRef="iso4217-usd">21900000</dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercisable>
  <dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable contextRef="i_2021-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c71145764" unitRef="xbrli-shares">562459</dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable>
  <dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable contextRef="i_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c71145792" unitRef="xbrli-shares">375845</dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisable>
  <dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue contextRef="i_2021-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c71145765" unitRef="iso4217-usd-per-xbrli-shares">17.21</dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue>
  <dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue contextRef="i_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c71145793" unitRef="iso4217-usd-per-xbrli-shares">16.50</dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageGrantDateFairValue>
  <dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-PerformanceSharesMember" id="c71145766">P3Y182D</dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm>
  <dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" id="c71145794">P4Y36D</dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisableWeightedAverageRemainingContractualTerm>
  <dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c71145741" unitRef="iso4217-usd-per-xbrli-shares">23.24</dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue>
  <dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c71145753" unitRef="iso4217-usd-per-xbrli-shares">29.08</dsgx:ShareBasedCompensationArrangementByShareBasedPaymentAwardUnitsIssuedInPeriodWeightedAverageGrantDateFairValue>
  <dsgx:ShareCapitalTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792223">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;15&lt;/div&gt; &amp;#x2013; Share Capital&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; June 6, 2018, &lt;/div&gt;we filed a final short-form base shelf prospectus (the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;#x201c;2018&lt;/div&gt; Base Shelf Prospectus&amp;#x201d;), that allowed us to offer and issue the following securities: (i) common shares; (ii) preferred shares; (iii) senior or subordinated unsecured debt securities; (iv) subscription receipts; (v) warrants; and (vi) securities comprised of more than &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;one&lt;/div&gt; of the aforementioned common shares, preferred shares, debt securities, subscription receipts and/ or warrants offered together as a unit. These securities could have been offered separately or together, in separate series, in amounts, at prices and on terms to be set forth in &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;one&lt;/div&gt; or more shelf prospectus supplements. The aggregate initial offering price of securities that could have been sold by us (or certain of our current or future shareholders) pursuant to the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2018&lt;/div&gt; Base Shelf Prospectus during the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;25&lt;/div&gt;-month period that the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2018&lt;/div&gt; Base Shelf Prospectus, including any amendments thereto, remained valid was limited to an aggregate of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$750&lt;/div&gt; million.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; June 10, 2019, &lt;/div&gt;we completed a public offering of common shares in the United States and Canada at a price of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$35.50&lt;/div&gt; per common share pursuant to the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2018&lt;/div&gt; Base Shelf Prospectus &lt;div style="display: inline; color: black"&gt;and related prospectus supplement filed in connection with the offering (the &amp;#x201c;Offering&amp;#x201d;)&lt;/div&gt;. The total offering of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,900,000&lt;/div&gt; common shares included the exercise in full by the underwriters of the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;15%&lt;/div&gt; over-allotment option, for aggregate gross proceeds to Descartes of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$245.0&lt;/div&gt; million. Net proceeds to Descartes were approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$236.6&lt;/div&gt; million once expenses associated with the Offering were deducted inclusive of the related deferred tax benefit on share issuance costs. The &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2018&lt;/div&gt; Base Shelf Prospectus expired in &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; July 2020.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; July 16, 2020, &lt;/div&gt;we filed a final short-form base shelf prospectus (the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;#x201c;2020&lt;/div&gt; Base Shelf Prospectus&amp;#x201d;), allowing us to offer and issue the following securities: (i) common shares; (ii) preferred shares; (iii) senior or subordinated unsecured debt securities; (iv) subscription receipts; (v) warrants; and (vi) securities comprised of more than &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;one&lt;/div&gt; of the aforementioned common shares, preferred shares, debt securities, subscription receipts and/ or warrants offered together as a unit. These securities &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;be offered separately or together, in separate series, in amounts, at prices and on terms to be set forth in &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;one&lt;/div&gt; or more shelf prospectus supplements. The aggregate initial offering price of securities that &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;be sold by us (or certain of our current or future shareholders) pursuant to the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; Base Shelf Prospectus during the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;25&lt;/div&gt;-month period that the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; Base Shelf Prospectus, including any amendments thereto, remains valid is limited to an aggregate of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1&lt;/div&gt; billion. &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;No&lt;/div&gt; securities have yet been sold pursuant to the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; Base Shelf Prospectus.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 29 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following table sets forth the common shares outstanding (number of shares in thousands):&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="font-style: italic"&gt;(thousands of shares)&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 61%; text-align: left"&gt;Balance, beginning of year&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;84,156&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;76,865&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;76,773&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt"&gt;Shares issued:&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 20pt; text-align: left"&gt;Stock options and share units exercised&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;338&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;95&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;46&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 20pt"&gt;Issuance of common shares&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,900&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt"&gt;Acquisitions (Note 3)&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;296&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;46&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Balance, end of year&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;84,494&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;84,156&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;76,865&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Cash flows provided from stock options and share units exercised &lt;div style="display: inline; color: black"&gt;during &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt; were approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$6.2&lt;/div&gt; million, &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1.5&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.5&lt;/div&gt; million, respectively.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</dsgx:ShareCapitalTextBlock>
  <dsgx:ShelfProspectusMaximumAmount contextRef="i_2018-06-06_SubsidiarySaleOfStockAxis-ShelfProspectusMember" decimals="-5" id="c71146493" unitRef="iso4217-usd">750000000</dsgx:ShelfProspectusMaximumAmount>
  <dsgx:ShelfProspectusMaximumAmount contextRef="i_2020-07-16_SubsidiarySaleOfStockAxis-The2020BaseShelfProspectusMember" decimals="-5" id="c71146507" unitRef="iso4217-usd">1000000000</dsgx:ShelfProspectusMaximumAmount>
  <dsgx:ShelfProspectusPeriod contextRef="d_2018-06-06_2018-06-06_SubsidiarySaleOfStockAxis-ShelfProspectusMember" id="c71146491">P2Y30D</dsgx:ShelfProspectusPeriod>
  <dsgx:ShelfProspectusPeriod contextRef="d_2020-07-16_2020-07-16_SubsidiarySaleOfStockAxis-The2020BaseShelfProspectusMember" id="c71146505">P2Y30D</dsgx:ShelfProspectusPeriod>
  <dsgx:StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145578" unitRef="xbrli-shares">338000</dsgx:StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised>
  <dsgx:StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145579" unitRef="xbrli-shares">95000</dsgx:StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised>
  <dsgx:StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145580" unitRef="xbrli-shares">46000</dsgx:StockIssuedDuringPeriodSharesOptionsAndShareUnitsExercised>
  <srt:ScheduleOfCondensedCashFlowStatementTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-11">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="font-weight: bold; text-align: right; border-bottom: Black 1pt solid"&gt;2021&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="text-align: right; border-bottom: Black 1pt solid"&gt;2020&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 74%"&gt;Balance at beginning of period&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;523,690&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;378,178&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Acquisition of Visual Compliance&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;118,785&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Acquisition of CORE&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12,670&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt"&gt;Acquisition of STEPcom&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10,019&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Acquisition of BestTransport&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,513&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt"&gt;Acquisition of Peoplevox&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;15,182&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Acquisition of Kontainers&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,461&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt"&gt;Acquisition of ShipTrack&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10,327&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Adjustments on account of foreign exchange&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12,517&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,475&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;Balance at end of period&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;565,177&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;523,690&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</srt:ScheduleOfCondensedCashFlowStatementTableTextBlock>
  <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792214">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11&lt;/div&gt; - Accrued Liabilities&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="3" style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="3" style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="3" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="3" style="text-align: right; border-bottom: Black 1pt solid"&gt;2020&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 74%; text-align: left"&gt;Accrued compensation and benefits&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;24,643&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;20,613&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Accrued professional fees&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,188&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,010&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Other accrued liabilities&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13,048&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13,253&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;38,879&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;34,876&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Other accrued liabilities include accrued expenses related to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;third&lt;/div&gt; party resellers and royalties, suppliers, accrued restructuring charges and accrued contingent acquisition purchase consideration.&lt;/div&gt;&lt;/div&gt;</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
  <us-gaap:AccountsPayableCurrent contextRef="i_2021-01-31" decimals="-3" id="c71144885" unitRef="iso4217-usd">7955000</us-gaap:AccountsPayableCurrent>
  <us-gaap:AccountsPayableCurrent contextRef="i_2020-01-31" decimals="-3" id="c71144886" unitRef="iso4217-usd">7667000</us-gaap:AccountsPayableCurrent>
  <us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-7">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Provision for Credit Losses&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 85%; text-indent: -0.5in; padding-left: 0.5in"&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,003&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Current period provision for expected losses&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,681&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Write-offs charged against the provision&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,418&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Effect of movements in foreign exchange&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;64&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Balance at January 31, 2021&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,330&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock>
  <us-gaap:AccountsReceivableGrossCurrent contextRef="i_2021-01-31" decimals="-3" id="c71145455" unitRef="iso4217-usd">39536000</us-gaap:AccountsReceivableGrossCurrent>
  <us-gaap:AccountsReceivableGrossCurrent contextRef="i_2020-01-31" decimals="-3" id="c71145456" unitRef="iso4217-usd">37121000</us-gaap:AccountsReceivableGrossCurrent>
  <us-gaap:AccountsReceivableNetCurrent contextRef="i_2021-01-31" decimals="-3" id="c71145459" unitRef="iso4217-usd">37206000</us-gaap:AccountsReceivableNetCurrent>
  <us-gaap:AccountsReceivableNetCurrent contextRef="i_2020-01-31" decimals="-3" id="c71145460" unitRef="iso4217-usd">35118000</us-gaap:AccountsReceivableNetCurrent>
  <us-gaap:AccruedIncomeTaxesCurrent contextRef="i_2021-01-31" decimals="-3" id="c71144891" unitRef="iso4217-usd">3383000</us-gaap:AccruedIncomeTaxesCurrent>
  <us-gaap:AccruedIncomeTaxesCurrent contextRef="i_2020-01-31" decimals="-3" id="c71144892" unitRef="iso4217-usd">1329000</us-gaap:AccruedIncomeTaxesCurrent>
  <us-gaap:AccruedIncomeTaxesNoncurrent contextRef="i_2021-01-31" decimals="-3" id="c71144903" unitRef="iso4217-usd">8230000</us-gaap:AccruedIncomeTaxesNoncurrent>
  <us-gaap:AccruedIncomeTaxesNoncurrent contextRef="i_2020-01-31" decimals="-3" id="c71144904" unitRef="iso4217-usd">6470000</us-gaap:AccruedIncomeTaxesNoncurrent>
  <us-gaap:AccruedLiabilitiesCurrent contextRef="i_2021-01-31" decimals="-3" id="c71145548" unitRef="iso4217-usd">38879000</us-gaap:AccruedLiabilitiesCurrent>
  <us-gaap:AccruedLiabilitiesCurrent contextRef="i_2020-01-31" decimals="-3" id="c71145549" unitRef="iso4217-usd">34876000</us-gaap:AccruedLiabilitiesCurrent>
  <us-gaap:AccruedProfessionalFeesCurrent contextRef="i_2021-01-31" decimals="-3" id="c71145544" unitRef="iso4217-usd">1188000</us-gaap:AccruedProfessionalFeesCurrent>
  <us-gaap:AccruedProfessionalFeesCurrent contextRef="i_2020-01-31" decimals="-3" id="c71145545" unitRef="iso4217-usd">1010000</us-gaap:AccruedProfessionalFeesCurrent>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentMember" decimals="-3" id="c71145484" unitRef="iso4217-usd">28123000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentMember" decimals="-3" id="c71145485" unitRef="iso4217-usd">23730000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember" decimals="-3" id="c71145486" unitRef="iso4217-usd">1081000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember" decimals="-3" id="c71145487" unitRef="iso4217-usd">816000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember" decimals="-3" id="c71145488" unitRef="iso4217-usd">401000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember" decimals="-3" id="c71145489" unitRef="iso4217-usd">290000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-EquipmentInstalledWithCustomersMember" decimals="-3" id="c71145490" unitRef="iso4217-usd">728000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-EquipmentInstalledWithCustomersMember" decimals="-3" id="c71145491" unitRef="iso4217-usd">203000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2021-01-31" decimals="-3" id="c71145492" unitRef="iso4217-usd">30333000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="i_2020-01-31" decimals="-3" id="c71145493" unitRef="iso4217-usd">25039000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="i_2021-01-31" decimals="-3" id="c71144913" unitRef="iso4217-usd">-1189000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
  <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="i_2020-01-31" decimals="-3" id="c71144914" unitRef="iso4217-usd">-25944000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
  <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="i_2021-01-31" decimals="-3" id="c71144911" unitRef="iso4217-usd">464102000</us-gaap:AdditionalPaidInCapitalCommonStock>
  <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="i_2020-01-31" decimals="-3" id="c71144912" unitRef="iso4217-usd">459269000</us-gaap:AdditionalPaidInCapitalCommonStock>
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="d_2020-02-01_2021-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c71152790" unitRef="iso4217-usd">6313000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c71152791" unitRef="iso4217-usd">4909000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c71152792" unitRef="iso4217-usd">3710000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2020-02-01_2021-01-31_IncomeStatementLocationAxis-CostOfSalesMember" decimals="-3" id="c71145613" unitRef="iso4217-usd">319000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2019-02-01_2020-01-31_IncomeStatementLocationAxis-CostOfSalesMember" decimals="-3" id="c71145614" unitRef="iso4217-usd">220000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2018-02-01_2019-01-31_IncomeStatementLocationAxis-CostOfSalesMember" decimals="-3" id="c71145615" unitRef="iso4217-usd">160000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2020-02-01_2021-01-31_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember" decimals="-3" id="c71145616" unitRef="iso4217-usd">896000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2019-02-01_2020-01-31_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember" decimals="-3" id="c71145617" unitRef="iso4217-usd">706000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2018-02-01_2019-01-31_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember" decimals="-3" id="c71145618" unitRef="iso4217-usd">436000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2020-02-01_2021-01-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember" decimals="-3" id="c71145619" unitRef="iso4217-usd">404000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2019-02-01_2020-01-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember" decimals="-3" id="c71145620" unitRef="iso4217-usd">281000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2018-02-01_2019-01-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember" decimals="-3" id="c71145621" unitRef="iso4217-usd">184000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2020-02-01_2021-01-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember" decimals="-3" id="c71145622" unitRef="iso4217-usd">4694000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2019-02-01_2020-01-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember" decimals="-3" id="c71145623" unitRef="iso4217-usd">3702000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2018-02-01_2019-01-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember" decimals="-3" id="c71145624" unitRef="iso4217-usd">2930000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145625" unitRef="iso4217-usd">6313000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145626" unitRef="iso4217-usd">4909000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllocatedShareBasedCompensationExpense contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145627" unitRef="iso4217-usd">3710000</us-gaap:AllocatedShareBasedCompensationExpense>
  <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="i_2020-01-31" decimals="-3" id="c71145461" unitRef="iso4217-usd">2003000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
  <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="i_2021-01-31" decimals="-3" id="c71145465" unitRef="iso4217-usd">2330000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
  <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145463" unitRef="iso4217-usd">1418000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
  <us-gaap:AmortizationOfIntangibleAssets contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145070" unitRef="iso4217-usd">55905000</us-gaap:AmortizationOfIntangibleAssets>
  <us-gaap:AmortizationOfIntangibleAssets contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145071" unitRef="iso4217-usd">55485000</us-gaap:AmortizationOfIntangibleAssets>
  <us-gaap:AmortizationOfIntangibleAssets contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145072" unitRef="iso4217-usd">40179000</us-gaap:AmortizationOfIntangibleAssets>
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="d_2020-02-01_2021-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember" decimals="INF" id="c71146519" unitRef="xbrli-shares">1750</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="d_2019-02-01_2020-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember" decimals="INF" id="c71146520" unitRef="xbrli-shares">350464</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="d_2018-02-01_2019-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember" decimals="INF" id="c71146521" unitRef="xbrli-shares">271869</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="d_2020-02-01_2021-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-StockOptionsTreasuryStockMethodMember" decimals="INF" id="c71146524" unitRef="xbrli-shares">71161</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="d_2019-02-01_2020-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-StockOptionsTreasuryStockMethodMember" decimals="INF" id="c71146525" unitRef="xbrli-shares">5909</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="d_2018-02-01_2019-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-StockOptionsTreasuryStockMethodMember" decimals="INF" id="c71146526" unitRef="xbrli-shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="d_2020-02-01_2021-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-PSUsAndRSUsMember" decimals="INF" id="c71146529" unitRef="xbrli-shares">43002</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="d_2019-02-01_2020-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-PSUsAndRSUsMember" decimals="INF" id="c71146530" unitRef="xbrli-shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="d_2018-02-01_2019-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-PSUsAndRSUsMember" decimals="INF" id="c71146531" unitRef="xbrli-shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <us-gaap:Assets contextRef="i_2021-01-31" decimals="-3" id="c71144883" unitRef="iso4217-usd">1063254000</us-gaap:Assets>
  <us-gaap:Assets contextRef="i_2020-01-31" decimals="-3" id="c71144884" unitRef="iso4217-usd">942586000</us-gaap:Assets>
  <us-gaap:AssetsCurrent contextRef="i_2021-01-31" decimals="-3" id="c71144869" unitRef="iso4217-usd">203065000</us-gaap:AssetsCurrent>
  <us-gaap:AssetsCurrent contextRef="i_2020-01-31" decimals="-3" id="c71144870" unitRef="iso4217-usd">100210000</us-gaap:AssetsCurrent>
  <us-gaap:BasisOfAccountingPolicyPolicyTextBlock contextRef="d_2020-02-01_2021-01-31" id="c71152858">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The accompanying consolidated financial statements are presented in United States (&amp;#x201c;US&amp;#x201d;) dollars and are prepared in accordance with generally accepted accounting principles in the US (&amp;#x201c;GAAP&amp;#x201d;) and the rules and regulations of the Canadian Securities Administrators and the US Securities and Exchange Commission (&amp;#x201c;SEC&amp;#x201d;) for the preparation of consolidated financial statements.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The world continues to experience a global pandemic related to the spread of the COVID-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;19&lt;/div&gt; virus (the &amp;#x201c;Pandemic&amp;#x201d;). The Pandemic has had disruptive effects in countries in which the Company operates, and the future impacts of the Pandemic and any resulting economic impact are largely unknown and rapidly evolving. As the impacts of the Pandemic continue to evolve, estimates and assumptions about future events and their effects cannot be determined with certainty and therefore require increased judgment. The future impact of Pandemic uncertainties could result in a significant impact on the reported amounts of assets, liabilities, revenue and expenses in these and any future consolidated financial statements. Examples of accounting estimates and judgments that &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;be impacted by the Pandemic include, but are &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; limited to; revenue recognition, impairment of goodwill and intangible assets and provisions for credit losses.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Our fiscal year commences on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1&lt;/div&gt;&lt;div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;"&gt;st&lt;/div&gt; of each year and ends on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31&lt;/div&gt;&lt;div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;"&gt;st&lt;/div&gt; of the following year. Our fiscal year, which ends on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;is referred to as the &amp;#x201c;current fiscal year&amp;#x201d;, &amp;#x201c;fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&amp;#x201d;,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;#x201c;2021&amp;#x201d;&lt;/div&gt; or using similar words. Our previous fiscal year, which ended on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2020, &lt;/div&gt;is referred to as the &amp;#x201c;previous fiscal year&amp;#x201d;, &amp;#x201c;fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&amp;#x201d;,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;#x201c;2020&amp;#x201d;&lt;/div&gt; or using similar words. Other fiscal years are referenced by the applicable year during which the fiscal year ends. For example, &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;#x201c;2022&amp;#x201d;&lt;/div&gt; refers to the annual period ending &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2022 &lt;/div&gt;and the &amp;#x201c;fourth quarter of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2022&amp;#x201d;&lt;/div&gt; refers to the quarter ending &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2022.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
  <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued contextRef="d_2019-02-12_2019-02-12_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-5" id="c71146333" unitRef="xbrli-shares">300000</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
  <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued contextRef="d_2018-08-21_2018-08-21_BusinessAcquisitionAxis-PinPointMember" decimals="-5" id="c71146379" unitRef="xbrli-shares">100000</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
  <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued contextRef="d_2020-02-01_2021-01-31" id="c71145584" unitRef="xbrli-shares" xs:nil="true"/>
  <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145585" unitRef="xbrli-shares">296000</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
  <us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145586" unitRef="xbrli-shares">46000</us-gaap:BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued>
  <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic contextRef="d_2020-02-01_2021-01-31" decimals="INF" id="c71145440" unitRef="iso4217-usd-per-xbrli-shares">0.61</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
  <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c71145441" unitRef="iso4217-usd-per-xbrli-shares">0.41</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
  <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic contextRef="d_2018-02-01_2019-01-31" decimals="INF" id="c71145442" unitRef="iso4217-usd-per-xbrli-shares">0.33</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
  <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted contextRef="d_2020-02-01_2021-01-31" decimals="INF" id="c71145443" unitRef="iso4217-usd-per-xbrli-shares">0.60</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
  <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c71145444" unitRef="iso4217-usd-per-xbrli-shares">0.41</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
  <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted contextRef="d_2018-02-01_2019-01-31" decimals="INF" id="c71145445" unitRef="iso4217-usd-per-xbrli-shares">0.33</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
  <us-gaap:BusinessAcquisitionProFormaInformationTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-4">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 61%; font-weight: normal"&gt;Revenues&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;354,461&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;341,376&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;328,824&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="font-weight: normal; text-align: left"&gt;Net income&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;51,302&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;33,727&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;25,370&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-weight: normal"&gt;Earnings per share&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt"&gt;Basic&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.61&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.41&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.33&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Diluted&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.60&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.41&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.33&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:BusinessAcquisitionProFormaInformationTextBlock>
  <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145437" unitRef="iso4217-usd">51302000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
  <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145438" unitRef="iso4217-usd">33727000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
  <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145439" unitRef="iso4217-usd">25370000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
  <us-gaap:BusinessAcquisitionsProFormaRevenue contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145434" unitRef="iso4217-usd">354461000</us-gaap:BusinessAcquisitionsProFormaRevenue>
  <us-gaap:BusinessAcquisitionsProFormaRevenue contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145435" unitRef="iso4217-usd">341376000</us-gaap:BusinessAcquisitionsProFormaRevenue>
  <us-gaap:BusinessAcquisitionsProFormaRevenue contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145436" unitRef="iso4217-usd">328824000</us-gaap:BusinessAcquisitionsProFormaRevenue>
  <us-gaap:BusinessCombinationAcquiredReceivablesEstimatedUncollectible contextRef="i_2019-02-12_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-5" id="c71146337" unitRef="iso4217-usd">1200000</us-gaap:BusinessCombinationAcquiredReceivablesEstimatedUncollectible>
  <us-gaap:BusinessCombinationAcquiredReceivablesEstimatedUncollectible contextRef="i_2019-06-27_BusinessAcquisitionAxis-StepcomMember" decimals="-5" id="c71146353" unitRef="iso4217-usd">100000</us-gaap:BusinessCombinationAcquiredReceivablesEstimatedUncollectible>
  <us-gaap:BusinessCombinationAcquiredReceivablesFairValue contextRef="i_2020-02-21_BusinessAcquisitionAxis-PeoplevoxMember" decimals="-5" id="c71146306" unitRef="iso4217-usd">400000</us-gaap:BusinessCombinationAcquiredReceivablesFairValue>
  <us-gaap:BusinessCombinationAcquiredReceivablesFairValue contextRef="i_2020-06-10_BusinessAcquisitionAxis-KontainersMember" decimals="-5" id="c71146315" unitRef="iso4217-usd">200000</us-gaap:BusinessCombinationAcquiredReceivablesFairValue>
  <us-gaap:BusinessCombinationAcquiredReceivablesFairValue contextRef="i_2020-11-06_BusinessAcquisitionAxis-ShipTrackMember" decimals="-5" id="c71146322" unitRef="iso4217-usd">1700000</us-gaap:BusinessCombinationAcquiredReceivablesFairValue>
  <us-gaap:BusinessCombinationAcquiredReceivablesFairValue contextRef="i_2019-02-12_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-5" id="c71146335" unitRef="iso4217-usd">5200000</us-gaap:BusinessCombinationAcquiredReceivablesFairValue>
  <us-gaap:BusinessCombinationAcquiredReceivablesFairValue contextRef="i_2019-05-10_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-5" id="c71146345" unitRef="iso4217-usd">400000</us-gaap:BusinessCombinationAcquiredReceivablesFairValue>
  <us-gaap:BusinessCombinationAcquiredReceivablesFairValue contextRef="i_2019-06-27_BusinessAcquisitionAxis-StepcomMember" decimals="-5" id="c71146351" unitRef="iso4217-usd">800000</us-gaap:BusinessCombinationAcquiredReceivablesFairValue>
  <us-gaap:BusinessCombinationAcquiredReceivablesFairValue contextRef="i_2019-08-20_BusinessAcquisitionAxis-BesttransportMember" decimals="-5" id="c71146358" unitRef="iso4217-usd">600000</us-gaap:BusinessCombinationAcquiredReceivablesFairValue>
  <us-gaap:BusinessCombinationAcquiredReceivablesFairValue contextRef="i_2018-02-02_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-5" id="c71146367" unitRef="iso4217-usd">200000</us-gaap:BusinessCombinationAcquiredReceivablesFairValue>
  <us-gaap:BusinessCombinationAcquiredReceivablesFairValue contextRef="i_2018-06-22_BusinessAcquisitionAxis-VelocityMailMember" decimals="-5" id="c71146373" unitRef="iso4217-usd">1000000</us-gaap:BusinessCombinationAcquiredReceivablesFairValue>
  <us-gaap:BusinessCombinationAcquiredReceivablesFairValue contextRef="i_2018-08-21_BusinessAcquisitionAxis-PinPointMember" decimals="-5" id="c71146385" unitRef="iso4217-usd">500000</us-gaap:BusinessCombinationAcquiredReceivablesFairValue>
  <us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount contextRef="i_2020-02-21_BusinessAcquisitionAxis-PeoplevoxMember" decimals="-5" id="c71146305" unitRef="iso4217-usd">400000</us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount>
  <us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount contextRef="i_2020-06-10_BusinessAcquisitionAxis-KontainersMember" decimals="-5" id="c71146314" unitRef="iso4217-usd">200000</us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount>
  <us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount contextRef="i_2020-11-06_BusinessAcquisitionAxis-ShipTrackMember" decimals="-5" id="c71146321" unitRef="iso4217-usd">1700000</us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount>
  <us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount contextRef="i_2019-02-12_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-5" id="c71146334" unitRef="iso4217-usd">6400000</us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount>
  <us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount contextRef="i_2019-05-10_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-5" id="c71146344" unitRef="iso4217-usd">400000</us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount>
  <us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount contextRef="i_2019-06-27_BusinessAcquisitionAxis-StepcomMember" decimals="-5" id="c71146350" unitRef="iso4217-usd">900000</us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount>
  <us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount contextRef="i_2019-08-20_BusinessAcquisitionAxis-BesttransportMember" decimals="-5" id="c71146357" unitRef="iso4217-usd">600000</us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount>
  <us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount contextRef="i_2018-02-02_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-5" id="c71146366" unitRef="iso4217-usd">200000</us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount>
  <us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount contextRef="i_2018-06-22_BusinessAcquisitionAxis-VelocityMailMember" decimals="-5" id="c71146372" unitRef="iso4217-usd">1000000</us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount>
  <us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount contextRef="i_2018-08-21_BusinessAcquisitionAxis-PinPointMember" decimals="-5" id="c71146384" unitRef="iso4217-usd">500000</us-gaap:BusinessCombinationAcquiredReceivablesGrossContractualAmount>
  <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" decimals="-5" id="c71146325" unitRef="iso4217-usd">800000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
  <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145993" unitRef="iso4217-usd">1981000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
  <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145994" unitRef="iso4217-usd">3457000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
  <us-gaap:BusinessCombinationAcquisitionRelatedCosts contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145995" unitRef="iso4217-usd">3187000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2018-08-21_2018-08-21_BusinessAcquisitionAxis-PinPointMember" decimals="-5" id="c71146377" unitRef="iso4217-usd">11000000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2018-08-21_2018-08-21_BusinessAcquisitionAxis-PinPointMember" decimals="-5" id="c71146378" unitRef="iso4217-cad">14400000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember" decimals="-3" id="c71145157" unitRef="iso4217-usd">24095000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-KontainersMember" decimals="-3" id="c71145158" unitRef="iso4217-usd">6533000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember" decimals="-3" id="c71145159" unitRef="iso4217-usd">21936000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" decimals="-3" id="c71145160" unitRef="iso4217-usd">52564000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c71152968" unitRef="iso4217-usd">250055000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c71152969" unitRef="iso4217-usd">23345000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c71152970" unitRef="iso4217-usd">18889000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c71152971" unitRef="iso4217-usd">11718000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c71152972" unitRef="iso4217-usd">304007000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c71153159" unitRef="iso4217-usd">32230000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" decimals="-3" id="c71153160" unitRef="iso4217-usd">26005000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c71153161" unitRef="iso4217-usd">11729000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferred1 contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c71153162" unitRef="iso4217-usd">69964000</us-gaap:BusinessCombinationConsiderationTransferred1>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c71152953" unitRef="iso4217-usd">9045000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" id="c71152954" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember" id="c71152955" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" id="c71152956" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c71152957" unitRef="iso4217-usd">9045000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" id="c71153147" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" id="c71153148" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c71153149" unitRef="iso4217-usd">1536000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
  <us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c71153150" unitRef="iso4217-usd">1536000</us-gaap:BusinessCombinationConsiderationTransferredEquityInterestsIssuedAndIssuable>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember" id="c71145149" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-KontainersMember" decimals="-3" id="c71145150" unitRef="iso4217-usd">1414000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember" decimals="-3" id="c71145151" unitRef="iso4217-usd">2825000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" decimals="-3" id="c71145152" unitRef="iso4217-usd">4239000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" id="c71152958" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c71152959" unitRef="iso4217-usd">1450000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember" id="c71152960" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" id="c71152961" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c71152962" unitRef="iso4217-usd">1450000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" id="c71153151" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" id="c71153152" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c71153153" unitRef="iso4217-usd">714000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
  <us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c71153154" unitRef="iso4217-usd">714000</us-gaap:BusinessCombinationConsiderationTransferredLiabilitiesIncurred>
  <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1 contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145996" unitRef="iso4217-usd">-1946000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
  <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1 contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145997" unitRef="iso4217-usd">340000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
  <us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1 contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145998" unitRef="iso4217-usd">591000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
  <us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh contextRef="i_2020-06-10_BusinessAcquisitionAxis-KontainersMember" decimals="-5" id="c71146311" unitRef="iso4217-usd">6000000</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh>
  <us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh contextRef="i_2020-11-06_BusinessAcquisitionAxis-ShipTrackMember" decimals="-5" id="c71146318" unitRef="iso4217-usd">25000000</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh>
  <us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh contextRef="i_2019-05-10_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-5" id="c71146341" unitRef="iso4217-usd">9000000</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh>
  <us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh contextRef="i_2018-08-21_BusinessAcquisitionAxis-PinPointMember" decimals="-5" id="c71146380" unitRef="iso4217-usd">2300000</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh>
  <us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh contextRef="i_2018-08-21_BusinessAcquisitionAxis-PinPointMember" decimals="-5" id="c71146381" unitRef="iso4217-cad">3000000</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh>
  <us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh contextRef="i_2020-01-31_BusinessAcquisitionAxis-COREKontainersAndShipTrackMember" decimals="-3" id="c71146475" unitRef="iso4217-usd">31600000</us-gaap:BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh>
  <us-gaap:BusinessCombinationContingentConsiderationLiability contextRef="i_2020-06-10_BusinessAcquisitionAxis-KontainersMember" decimals="-5" id="c71146313" unitRef="iso4217-usd">1400000</us-gaap:BusinessCombinationContingentConsiderationLiability>
  <us-gaap:BusinessCombinationContingentConsiderationLiability contextRef="i_2020-11-06_BusinessAcquisitionAxis-ShipTrackMember" decimals="-5" id="c71146320" unitRef="iso4217-usd">2800000</us-gaap:BusinessCombinationContingentConsiderationLiability>
  <us-gaap:BusinessCombinationContingentConsiderationLiability contextRef="i_2019-05-10_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-5" id="c71146343" unitRef="iso4217-usd">1500000</us-gaap:BusinessCombinationContingentConsiderationLiability>
  <us-gaap:BusinessCombinationContingentConsiderationLiability contextRef="i_2018-08-21_BusinessAcquisitionAxis-PinPointMember" decimals="-5" id="c71146383" unitRef="iso4217-usd">700000</us-gaap:BusinessCombinationContingentConsiderationLiability>
  <us-gaap:BusinessCombinationContingentConsiderationLiability contextRef="i_2020-01-31_BusinessAcquisitionAxis-COREKontainersAndShipTrackMember" decimals="-3" id="c71146477" unitRef="iso4217-usd">4700000</us-gaap:BusinessCombinationContingentConsiderationLiability>
  <us-gaap:BusinessCombinationDisclosureTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792191">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3&lt;/div&gt; &amp;#x2013; Acquisitions&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&lt;/div&gt; Acquisitions&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 21, 2020, &lt;/div&gt;Descartes acquired all of the shares of Peoplevox Limited (&amp;#x201c;Peoplevox&amp;#x201d;), a UK-based provider of cloud-based ecommerce warehouse management solutions. The purchase price for the acquisition was approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$24.1&lt;/div&gt; million, net of cash acquired, which was funded from a combination of cash on hand and drawing on Descartes' existing credit facility. The gross contractual amount of trade receivables acquired was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.4&lt;/div&gt; million with a fair value of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.4&lt;/div&gt; million at the date of acquisition. Our acquisition date estimate of contractual cash flows &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; expected to be collected was nominal. The purchase price was finalized in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt; month period ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021 &lt;/div&gt;with &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; adjustments.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; June 10, 2020 &lt;/div&gt;Descartes acquired all of the shares of Cracking Logistics Limited (&amp;#x201c;Kontainers&amp;#x201d;), a UK-based provider of client-facing digital freight execution platforms. The purchase price for the acquisition was approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$5.2&lt;/div&gt; million, net of cash acquired, which was funded from cash on hand. Additional contingent consideration of up to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$6.0&lt;/div&gt; million in cash is payable if certain revenue performance targets are met by Kontainers in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;two&lt;/div&gt; years following the acquisition. The fair value of the contingent consideration was valued at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1.4&lt;/div&gt; million at the acquisition date. The gross contractual amount of trade receivables acquired was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.2&lt;/div&gt; million with a fair value of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.2&lt;/div&gt; million at the date of acquisition. Our acquisition date estimate of contractual cash flows &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; expected to be collected was nominal. The completion of the initial purchase price allocation is pending the finalization of the fair value for trade receivables, accrued liability balances as well as potential unrecorded liabilities. We expect to finalize the purchase price allocation on or before &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; June 10, 2021.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; November 6, 2020, &lt;/div&gt;Descartes acquired all of the shares of ShipTrack Inc. (&amp;#x201c;ShipTrack&amp;#x201d;), a provider of cloud-based mobile resource management and shipment tracking solutions. The purchase price for the acquisition was approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$19.0&lt;/div&gt; million, net of cash acquired, which was funded from cash on hand. Additional contingent consideration of up to CAD &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;25.0&lt;/div&gt; million in cash is payable if certain revenue performance targets are met by ShipTrack in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;two&lt;/div&gt; years following the acquisition. The fair value of the contingent consideration was valued at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$2.8&lt;/div&gt; million at the acquisition date. The gross contractual amount of trade receivables acquired was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1.7&lt;/div&gt; million with a fair value of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1.7&lt;/div&gt; million at the date of acquisition. Our acquisition date estimate of contractual cash flows &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; expected to be collected was nominal. The completion of the initial purchase price allocation is pending the finalization of the fair value for trade receivables, accrued liability balances, deferred revenue as well as potential unrecorded liabilities. We expect to finalize the purchase price allocation on or before &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; November 6, 2021.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;For the businesses acquired during fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021,&lt;/div&gt; we incurred acquisition-related costs of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.8&lt;/div&gt; million for the year ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021. &lt;/div&gt;The acquisition-related costs were primarily for advisory services and are included in other charges in our consolidated statements of operations. For the year ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;we have recognized &lt;div style="display: inline; color: black"&gt;aggregate revenues of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$9.4&lt;/div&gt; million, and net income (excluding any interest costs on financing the a&lt;/div&gt;cquisition) of nominal from Peoplevox, Kontainers and ShipTrack since the date of acquisition in our consolidated statements of operations.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 17 --&gt;    &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The final purchase price allocation for Peoplevox and the preliminary purchase price allocations for Kontainers and ShipTrack, which have &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; been finalized, are as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Peoplevox&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Kontainers&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;ShipTrack&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Total&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td&gt;Purchase price consideration:&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-indent: -10pt; width: 48%; text-align: left; padding-left: 20pt"&gt;Cash, less cash acquired related to Peoplevox ($1,634), Kontainers (overdraft of $13) and ShipTrack ($529)&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;24,137&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,237&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;19,029&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;48,403&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-left: 10pt"&gt;Consideration payable&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;100&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;100&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-left: 10pt"&gt;Contingent consideration&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,414&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,825&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,239&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Net working capital adjustments (receivable) / payable&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(42&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(218&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;82&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(178&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;24,095&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,533&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21,936&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;52,564&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Allocated to:&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-left: 10pt"&gt;Current assets, excluding cash acquired&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;485&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;253&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,846&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,584&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-left: 10pt"&gt;Right-of-use assets&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;151&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;151&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-left: 10pt"&gt;Current liabilities&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(776&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(989&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(668&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,433&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-left: 10pt"&gt;Deferred revenue&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(748&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(102&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(204&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,054&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-left: 10pt"&gt;Lease obligations&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(151&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(151&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-left: 10pt"&gt;Deferred income tax liability&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,615&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(4,012&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(5,627&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt; padding-left: 10pt"&gt;Debt&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(728&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(728&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Net tangible assets (liabilities) assumed&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,654&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(838&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(3,766&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(7,258&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Finite life intangible assets acquired:&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Customer agreements and relationships&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,631&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;800&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,905&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,336&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Existing technology&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7,651&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,000&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,102&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21,753&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-left: 10pt"&gt;Trade names&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;30&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;77&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;107&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-left: 10pt"&gt;Non-compete covenants&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;285&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;80&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;291&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;656&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt"&gt;Goodwill&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;15,182&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,461&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10,327&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;28,970&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;24,095&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,533&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21,936&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;52,564&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The above transactions were accounted for using the acquisition method in accordance with ASC Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;805,&lt;/div&gt; &amp;#x201c;Business Combinations&amp;#x201d;. The purchase price allocations in the table above represents our estimates of the allocation of the purchase price and the fair value of net assets acquired. The preliminary purchase price allocations &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;differ from the final purchase price allocations, and these differences &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;be material. Revisions to the allocation will occur as additional information about the fair value of assets and liabilities becomes available. The final purchase price allocation will be completed within &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;one&lt;/div&gt; year from the acquisition date.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The acquired intangible assets are being amortized over their estimated useful lives as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Peoplevox&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Kontainers&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;ShipTrack&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 61%; text-align: left"&gt;Customer agreements and relationships (years)&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Existing technology (years)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Trade names (years)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;N/A&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Non-compete covenants (years)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The goodwill on the Peoplevox, Kontainers and ShipTrack acquisitions arose as a result of the combined strategic value to our growth plan. The goodwill arising from the Peoplevox, Kontainers and ShipTrack acquisitions are &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; deductible for tax purposes.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 18 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; Acquisitions&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 12, 2019, &lt;/div&gt;Descartes acquired substantially all of the assets of the businesses run by the Management Systems Resources Inc. group of companies (collectively, &amp;#x201c;Visual Compliance&amp;#x201d;), a provider of software solutions and services to automate customs, trade and fiscal compliance processes including denied and restricted party screening processes and export licensing. The purchase price for the acquisition was approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$248.9&lt;/div&gt; million, net of cash acquired, which was funded from a combination of drawing on Descartes' existing credit facility and issuing to the sellers &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.3&lt;/div&gt; million Descartes common shares from treasury. The gross contractual amount of trade receivables acquired was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$6.4&lt;/div&gt; million with a fair value of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$5.2&lt;/div&gt; million at the date of acquisition. Our acquisition date estimate of contractual cash flows &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; expected to be collected was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1.2&lt;/div&gt; million. The purchase price was finalized in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt; month period ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2020 &lt;/div&gt;with &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; adjustments.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; May 10, 2019, &lt;/div&gt;Descartes acquired all the shares of Core Transport Technologies NZ Limited (&amp;#x201c;CORE&amp;#x201d;), an electronic transportation network that provides global air carriers and ground handlers with shipment scanning and tracking solutions. The purchase price for the acquisition was approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$21.8&lt;/div&gt; million, net of cash acquired, which was funded from drawing on Descartes' existing credit facility. Additional contingent consideration of up to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$9.0&lt;/div&gt; million in cash is payable if certain revenue performance targets are met by CORE in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;two&lt;/div&gt; years following the acquisition. The fair value of the contingent consideration was valued at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1.5&lt;/div&gt; million at the acquisition date. The gross contractual amount of trade receivables acquired was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.4&lt;/div&gt; million with a fair value of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.4&lt;/div&gt; million at the date of acquisition. Our acquisition date estimate of contractual cash flows &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; expected to be collected was nominal. The purchase price was finalized in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt; month period ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; April 30, 2020 &lt;/div&gt;with &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; adjustments.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; June 27, 2019, &lt;/div&gt;Descartes acquired all the shares of Tegmento AG and Contentis AG (collectively, &amp;#x201c;STEPcom&amp;#x201d;), a business-to-business supply chain integration network based in Switzerland. The purchase price for the acquisition was approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$18.6&lt;/div&gt; million, net of cash acquired, which was funded from drawing on Descartes' existing credit facility. The gross contractual amount of trade receivables acquired was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.9&lt;/div&gt; million with a fair value of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.8&lt;/div&gt; million at the date of acquisition. Our acquisition date estimate of contractual cash flows &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; expected to be collected was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.1&lt;/div&gt; million. The purchase price was finalized in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt; month period ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; July 31, 2020 &lt;/div&gt;with &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; adjustments.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; August 20, 2019, &lt;/div&gt;Descartes acquired BestTransport.com, Inc. (&amp;#x201c;BestTransport&amp;#x201d;), a cloud-based transportation management system provider focused on flatbed-intensive manufacturers and distributors. The purchase price for the acquisition was approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$11.7&lt;/div&gt; million, net of cash acquired, which was funded from drawing on Descartes' existing credit facility. The gross contractual amount of trade receivables acquired was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.6&lt;/div&gt; million with a fair value of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.6&lt;/div&gt; million at the date of acquisition. Our acquisition date estimate of contractual cash flows &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; expected to be collected was nominal. The purchase price was finalized in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt; month period ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; July 31, 2020 &lt;/div&gt;with &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; adjustments.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;  &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 19 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The final purchase price allocations for businesses we acquired during &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; are as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="3" style="font-weight: bold; text-align: right; border-bottom: Black 1pt solid"&gt;Visual Compliance&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="3" style="text-align: right; border-bottom: Black 1pt solid"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;CORE&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="3" style="text-align: right; border-bottom: Black 1pt solid"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;STEP-com&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="3" style="text-align: right; border-bottom: Black 1pt solid"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Best-Transport&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="3" style="text-align: right; border-bottom: Black 1pt solid"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td&gt;Purchase price consideration:&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-indent: -10pt; padding-left: 20pt; width: 35%; text-align: left"&gt;Cash, less cash acquired related to Visual Compliance ($170), CORE ($213), STEPcom ($2,700) and BestTransport ($507)&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;239,863&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21,833&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18,639&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,718&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;292,053&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Common shares issued&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;9,045&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;9,045&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Contingent consideration&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,450&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,450&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Net working capital adjustments payable / (receivable)&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,147&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;62&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;250&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,459&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;250,055&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;23,345&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18,889&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,718&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;304,007&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Allocated to:&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Current assets, excluding cash acquired&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,403&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;689&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,470&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;815&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;9,377&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Property and equipment&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;30&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,048&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;257&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;35&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,370&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Deferred income tax asset&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;30,924&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;30,924&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Right-of-use assets&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,188&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;68&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;232&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;194&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,682&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Current liabilities&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(840&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(352&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(874&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(284&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,350&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Deferred revenue&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(10,267&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(278&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(813&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(9&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(11,367&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Lease obligations&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,188&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(68&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(232&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(194&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,682&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Deferred income tax liability&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(282&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(3,332&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,316&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,352&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(7,282&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Net tangible assets (liabilities) assumed&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;25,968&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,225&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,276&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(795&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21,672&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Finite life intangible assets acquired:&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Customer agreements and relationships&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;32,186&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,600&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10,839&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,000&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;50,625&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Existing technology&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;69,422&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,800&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,800&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;80,022&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Trade names&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;528&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;200&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;102&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;50&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;880&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Non-compete covenants&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,166&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;300&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;205&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;150&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,821&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-bottom: 1pt"&gt;Goodwill&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;118,785&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12,670&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10,019&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,513&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;146,987&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;250,055&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;23,345&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18,889&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,718&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;304,007&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The acquired intangible assets are being amortized over their estimated useful lives as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Visual Compliance&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;CORE&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;STEPcom&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Best Transport&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 46%; text-align: left"&gt;Customer agreements and relationships (years)&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;14&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;9&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Existing technology (years)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;N/A&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Trade names (years)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Non-compete covenants (years)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The goodwill on the Visual Compliance, CORE, STEPcom and BestTransport acquisitions arose as a result of the combined strategic value to our growth plan. The goodwill arising from the CORE, STEPcom and BestTransport acquisitions is &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; deductible for tax purposes. The goodwill from the Visual Compliance acquisition is deductible for tax purposes.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 20 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt; Acquisitions&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 2, 2018, &lt;/div&gt;Descartes acquired Aljex Software, Inc. (&amp;#x201c;Aljex&amp;#x201d;), a cloud-based provider of back-office transportation management solutions for freight brokers and transportation providers. US-based Aljex helps customers automate business processes and create electronic documents critical for executing transportation moves through the lifecycle of a shipment. The purchase price for the acquisition was approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$32.4&lt;/div&gt; million, net of cash acquired, which was funded from drawing on Descartes' existing credit facility. The gross contractual amount of trade receivables acquired was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.2&lt;/div&gt; million with a fair value of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.2&lt;/div&gt; million at the date of acquisition. Our acquisition date estimate of contractual cash flows &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; expected to be collected was nominal. The purchase price was finalized in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt; month period ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2019 &lt;/div&gt;with &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; adjustments.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; June 22, 2018, &lt;/div&gt;Descartes acquired certain assets of Velocity Mail, LLC (&amp;#x201c;Velocity Mail&amp;#x201d;), an electronic transportation network that provides global air carriers with mail and parcel shipment scanning and tracking solutions. Using US-based Velocity Mail's network, global air carriers leverage mobile devices to accurately track shipments and deliveries in real-time. The purchase price for the acquisition was approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$26.1&lt;/div&gt; million, net of cash acquired, which was funded from drawing on Descartes' existing credit facility. The gross contractual amount of trade receivables acquired was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1.0&lt;/div&gt; million with a fair value of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1.0&lt;/div&gt; million at the date of acquisition. Our acquisition date estimate of contractual cash flows &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; expected to be collected was nominal. The purchase price was finalized in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt; month period ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; July 31, 2019 &lt;/div&gt;with &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; adjustments.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; color: black"&gt;On &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; August 21, 2018, &lt;/div&gt;Descartes acquired PinPoint GPS Solutions Inc. (&amp;#x201c;PinPoint&amp;#x201d;), a provider of fleet tracking and mobile workforce solutions. Canada-based PinPoint helps customers collect real-time location information on trucks and mobile workers using technology, including Geotab (telematics) and SkyBitz (trailer tracking). The purchase price for the acquisition was approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$11.0&lt;/div&gt; million &lt;/div&gt;(CAD &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$14.4&lt;/div&gt; million)&lt;div style="display: inline; color: black"&gt;, net of cash acquired, which was funded from a combination of drawing on Descartes' existing credit facility and issuing to the sellers less than &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.1&lt;/div&gt; million Descartes common shares from treasury. &lt;/div&gt;Additional contingent consideration of up to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$2.3&lt;/div&gt; million (CAD &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$3.0&lt;/div&gt; million) in cash is payable if certain revenue performance targets are met by PinPoint in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;two&lt;/div&gt; years following the acquisition. The fair value of the contingent consideration was valued at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.7&lt;/div&gt; million at the acquisition date. The gross contractual amount of trade receivables acquired was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.5&lt;/div&gt; million with a fair value of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.5&lt;/div&gt; million at the date of acquisition. Our acquisition date estimate of contractual cash flows &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; expected to be collected was nominal. The purchase price was finalized in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt; month period ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; July 31, 2019 &lt;/div&gt;with &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; adjustments.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt;   &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The final purchase price allocations for businesses we acquired during &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt; are as follows:&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Aljex&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Velocity Mail&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;PinPoint&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Total&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td&gt;Purchase price consideration:&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="width: 48%; text-align: left; padding-left: 10pt"&gt;Cash, less cash acquired related to Aljex ($193), Velocity Mail (nil) and PinPoint ($769)&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;32,382&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26,107&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;9,443&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;67,932&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Common shares issued&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,536&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,536&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-left: 10pt"&gt;Contingent consideration&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;714&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;714&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Net working capital adjustments (receivable) / payable&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(152&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(102&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;36&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(218&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;32,230&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26,005&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,729&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;69,964&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Allocated to:&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-left: 10pt"&gt;Current assets, excluding cash acquired&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;607&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,407&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;599&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,613&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-left: 10pt"&gt;Other long-term assets&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;501&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;501&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-left: 10pt"&gt;Current liabilities&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(266&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(81&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(559&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(906&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-left: 10pt"&gt;Deferred revenue&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,024&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(70&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(574&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,668&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Deferred income tax liability&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(4,200&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,077&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(6,277&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-left: 0pt"&gt;Net tangible (liabilities) assets assumed&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(4,883&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,757&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,611&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(5,737&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Finite life intangible assets acquired:&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Customer agreements and relationships&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,300&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7,800&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7,758&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;20,858&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Existing technology&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12,400&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7,600&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;20,000&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt"&gt;Tradenames&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;280&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;100&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;207&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;587&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-left: 10pt"&gt;Non-compete covenants&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;230&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;300&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;69&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;599&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt"&gt;Goodwill&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18,903&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,448&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,306&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;33,657&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;32,230&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26,005&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,729&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;69,964&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The acquired intangible assets are being amortized over their estimated useful lives as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Aljex&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Velocity Mail&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;PinPoint&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 61%; text-align: left"&gt;Customer agreements and relationships (years)&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;9&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Existing technology (years)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;N/A&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Trade names (years)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Non-compete covenants (years)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The goodwill on the Aljex, Velocity Mail and PinPoint acquisitions arose as a result of the combined strategic value to our growth plan. The goodwill arising from the Aljex and PinPoint acquisitions is &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; deductible for tax purposes. The goodwill from the Velocity Mail acquisition is deductible for tax purposes.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Pro Forma Results of Operations (Unaudited)&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The financial information in the table below summarizes selected results of operations on a pro forma basis as if we had acquired ShipTrack, Kontainers, Peoplevox, BestTransport, STEPcom, CORE, Visual Compliance, PinPoint, Velocity Mail and Aljex as of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2018.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;This pro forma information is for information purposes only and does &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; purport to represent what our actual results of operations for the periods presented would have been had the acquisitions of ShipTrack, Kontainers, Peoplevox, BestTransport, STEPcom, CORE, Visual Compliance, PinPoint, Velocity Mail and Aljex occurred at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2018, &lt;/div&gt;or to project our results of operations for any future period.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 22 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 61%; font-weight: normal"&gt;Revenues&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;354,461&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;341,376&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;328,824&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="font-weight: normal; text-align: left"&gt;Net income&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;51,302&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;33,727&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;25,370&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="font-weight: normal"&gt;Earnings per share&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt"&gt;Basic&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.61&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.41&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.33&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Diluted&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.60&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.41&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.33&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
  <us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" decimals="-5" id="c71146326" unitRef="iso4217-usd">9400000</us-gaap:BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember" decimals="-3" id="c71145161" unitRef="iso4217-usd">485000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2021-01-31_BusinessAcquisitionAxis-KontainersMember" decimals="-3" id="c71145162" unitRef="iso4217-usd">253000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember" decimals="-3" id="c71145163" unitRef="iso4217-usd">1846000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" decimals="-3" id="c71145164" unitRef="iso4217-usd">2584000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c71152973" unitRef="iso4217-usd">6403000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c71152974" unitRef="iso4217-usd">689000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c71152975" unitRef="iso4217-usd">1470000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c71152976" unitRef="iso4217-usd">815000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c71152977" unitRef="iso4217-usd">9377000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c71153163" unitRef="iso4217-usd">607000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" decimals="-3" id="c71153164" unitRef="iso4217-usd">1407000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c71153165" unitRef="iso4217-usd">599000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c71153166" unitRef="iso4217-usd">2613000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember" decimals="-3" id="c71145169" unitRef="iso4217-usd">776000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2021-01-31_BusinessAcquisitionAxis-KontainersMember" decimals="-3" id="c71145170" unitRef="iso4217-usd">989000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember" decimals="-3" id="c71145171" unitRef="iso4217-usd">668000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" decimals="-3" id="c71145172" unitRef="iso4217-usd">2433000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c71152993" unitRef="iso4217-usd">840000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c71152994" unitRef="iso4217-usd">352000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c71152995" unitRef="iso4217-usd">874000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c71152996" unitRef="iso4217-usd">284000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c71152997" unitRef="iso4217-usd">2350000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c71153171" unitRef="iso4217-usd">266000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" decimals="-3" id="c71153172" unitRef="iso4217-usd">81000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c71153173" unitRef="iso4217-usd">559000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c71153174" unitRef="iso4217-usd">906000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember" decimals="-3" id="c71145173" unitRef="iso4217-usd">748000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2021-01-31_BusinessAcquisitionAxis-KontainersMember" decimals="-3" id="c71145174" unitRef="iso4217-usd">102000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember" decimals="-3" id="c71145175" unitRef="iso4217-usd">204000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" decimals="-3" id="c71145176" unitRef="iso4217-usd">1054000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c71152998" unitRef="iso4217-usd">10267000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c71152999" unitRef="iso4217-usd">278000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c71153000" unitRef="iso4217-usd">813000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c71153001" unitRef="iso4217-usd">9000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c71153002" unitRef="iso4217-usd">11367000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c71153175" unitRef="iso4217-usd">1024000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" decimals="-3" id="c71153176" unitRef="iso4217-usd">70000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c71153177" unitRef="iso4217-usd">574000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c71153178" unitRef="iso4217-usd">1668000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c71152983" unitRef="iso4217-usd">30924000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" id="c71152984" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember" id="c71152985" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" id="c71152986" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c71152987" unitRef="iso4217-usd">30924000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember" decimals="-3" id="c71145181" unitRef="iso4217-usd">1615000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2021-01-31_BusinessAcquisitionAxis-KontainersMember" id="c71145182" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember" decimals="-3" id="c71145183" unitRef="iso4217-usd">4012000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" decimals="-3" id="c71145184" unitRef="iso4217-usd">5627000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c71153008" unitRef="iso4217-usd">282000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c71153009" unitRef="iso4217-usd">3332000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c71153010" unitRef="iso4217-usd">2316000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c71153011" unitRef="iso4217-usd">1352000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c71153012" unitRef="iso4217-usd">7282000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c71153179" unitRef="iso4217-usd">4200000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" id="c71153180" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c71153181" unitRef="iso4217-usd">2077000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c71153182" unitRef="iso4217-usd">6277000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinancialLiabilities contextRef="i_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember" id="c71145185" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinancialLiabilities contextRef="i_2021-01-31_BusinessAcquisitionAxis-KontainersMember" id="c71145186" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinancialLiabilities contextRef="i_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember" decimals="-3" id="c71145187" unitRef="iso4217-usd">728000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinancialLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinancialLiabilities contextRef="i_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" decimals="-3" id="c71145188" unitRef="iso4217-usd">728000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedFinancialLiabilities>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c71145193" unitRef="iso4217-usd">3631000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2021-01-31_BusinessAcquisitionAxis-KontainersMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c71145194" unitRef="iso4217-usd">800000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c71145195" unitRef="iso4217-usd">3905000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c71145196" unitRef="iso4217-usd">8336000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c71145197" unitRef="iso4217-usd">7651000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2021-01-31_BusinessAcquisitionAxis-KontainersMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c71145198" unitRef="iso4217-usd">3000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c71145199" unitRef="iso4217-usd">11102000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c71145200" unitRef="iso4217-usd">21753000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" id="c71145201" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2021-01-31_BusinessAcquisitionAxis-KontainersMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c71145202" unitRef="iso4217-usd">30000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c71145203" unitRef="iso4217-usd">77000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c71145204" unitRef="iso4217-usd">107000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c71145205" unitRef="iso4217-usd">285000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2021-01-31_BusinessAcquisitionAxis-KontainersMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c71145206" unitRef="iso4217-usd">80000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c71145207" unitRef="iso4217-usd">291000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c71145208" unitRef="iso4217-usd">656000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c71153018" unitRef="iso4217-usd">32186000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c71153019" unitRef="iso4217-usd">4600000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c71153020" unitRef="iso4217-usd">10839000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c71153021" unitRef="iso4217-usd">3000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c71153022" unitRef="iso4217-usd">50625000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c71153023" unitRef="iso4217-usd">69422000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c71153024" unitRef="iso4217-usd">6800000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" id="c71153025" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c71153026" unitRef="iso4217-usd">3800000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c71153027" unitRef="iso4217-usd">80022000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c71153028" unitRef="iso4217-usd">528000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c71153029" unitRef="iso4217-usd">200000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c71153030" unitRef="iso4217-usd">102000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c71153031" unitRef="iso4217-usd">50000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c71153032" unitRef="iso4217-usd">880000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c71153033" unitRef="iso4217-usd">3166000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c71153034" unitRef="iso4217-usd">300000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c71153035" unitRef="iso4217-usd">205000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c71153036" unitRef="iso4217-usd">150000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c71153037" unitRef="iso4217-usd">3821000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c71153187" unitRef="iso4217-usd">5300000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c71153188" unitRef="iso4217-usd">7800000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c71153189" unitRef="iso4217-usd">7758000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c71153190" unitRef="iso4217-usd">20858000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c71153191" unitRef="iso4217-usd">12400000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c71153192" unitRef="iso4217-usd">7600000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" id="c71153193" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" decimals="-3" id="c71153194" unitRef="iso4217-usd">20000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c71153195" unitRef="iso4217-usd">280000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c71153196" unitRef="iso4217-usd">100000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c71153197" unitRef="iso4217-usd">207000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c71153198" unitRef="iso4217-usd">587000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c71153199" unitRef="iso4217-usd">230000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c71153200" unitRef="iso4217-usd">300000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c71153201" unitRef="iso4217-usd">69000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c71153202" unitRef="iso4217-usd">599000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" id="c71153167" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" decimals="-3" id="c71153168" unitRef="iso4217-usd">501000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember" id="c71153169" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c71153170" unitRef="iso4217-usd">501000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c71152978" unitRef="iso4217-usd">30000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c71152979" unitRef="iso4217-usd">2048000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c71152980" unitRef="iso4217-usd">257000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c71152981" unitRef="iso4217-usd">35000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
  <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c71152982" unitRef="iso4217-usd">2370000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment>
  <us-gaap:BusinessCombinationsPolicy contextRef="d_2020-02-01_2021-01-31" id="c71152873">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Business combinations&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We apply the provisions of ASC Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;805,&lt;/div&gt; &amp;#x201c;Business Combinations&amp;#x201d; (Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;805&lt;/div&gt;), in the accounting for our acquisitions. It requires us to recognize separately from goodwill, the assets acquired and the liabilities assumed at their acquisition date fair values including certain identifiable intangible assets (other than goodwill). Goodwill as of the acquisition date is measured as the excess of consideration transferred over the net of the acquisition date fair values of the assets acquired and the liabilities assumed. The determination of the acquisition date fair value of the intangible assets acquired required us to make estimates and assumptions regarding projected revenues, earnings before interest, taxes, depreciation and amortization, technology migration rates, customer attrition rates and discount rates.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;While we use our best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as contingent consideration, where applicable, our estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;be up to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;one&lt;/div&gt; year from the acquisition date, we &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;record adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon the conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments would be recorded to our consolidated statement of operations.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 13 --&gt; &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Costs to exit or restructure certain activities of an acquired company or our internal operations are accounted for as termination and exit costs pursuant to ASC Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;420,&lt;/div&gt; &amp;#x201c;Exit or Disposal Cost Obligations&amp;#x201d; (Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;420&lt;/div&gt;) and are accounted for separately from the business combination.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;For a given acquisition, we generally identify certain pre-acquisition contingencies as of the acquisition date and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;extend our review and evaluation of these pre-acquisition contingencies throughout the measurement period in order to obtain sufficient information to assess whether we include these contingencies as a part of the purchase price allocation and, if so, to determine the estimated amounts.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;If we determine that a pre-acquisition contingency (non-income tax related) is probable in nature and estimable as of the acquisition date, we record our best estimate for such a contingency as a part of the preliminary purchase price allocation. We often continue to gather information and evaluate our pre-acquisition contingencies throughout the measurement period and if we make changes to the amounts recorded or if we identify additional pre-acquisition contingencies during the measurement period, such amounts will be included in the purchase price allocation during the measurement period and, subsequently, in our results of operations.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Uncertain tax positions and tax related valuation allowances assumed in connection with a business combination are initially estimated as of the acquisition date. We review these items during the measurement period as we continue to actively seek and collect information relating to facts and circumstances that existed at the acquisition date. Changes to these uncertain tax positions and tax related valuation allowances made subsequent to the measurement period, or if they relate to facts and circumstances that did &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; exist at the acquisition date, are recorded in our provision for income taxes in our consolidated statement of operations.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:BusinessCombinationsPolicy>
  <us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792189">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1&lt;/div&gt; - Description of the Business&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Descartes Systems Group Inc. (&amp;#x201c;Descartes&amp;#x201d;, &amp;#x201c;Company&amp;#x201d;, &amp;#x201c;our&amp;#x201d; or &amp;#x201c;we&amp;#x201d;) is a provider of global logistics technology solutions. Customers use our modular, software-as-a-service (&amp;#x201c;SaaS&amp;#x201d;) and data solutions to route, schedule, track and measure delivery resources; plan, allocate and execute shipments; rate, audit and pay transportation invoices; access and analyze global trade data; research and perform trade tariff and duty calculations; file customs and security documents for imports and exports;&amp;nbsp;and complete numerous other logistics processes by participating in a large, collaborative multi-modal logistics community. Our pricing model provides our customers with flexibility in purchasing our solutions either on a subscription, transactional or perpetual license basis. Our primary focus is on serving transportation providers (air, ocean and truck modes), logistics service providers (including &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;third&lt;/div&gt;-party logistics providers, freight forwarders and customs brokers) and distribution-intensive companies for which logistics is either a key or a defining part of their own product or service offering, or for which our solutions can provide an opportunity to reduce costs, improve service levels, or support growth by optimizing the use of assets and information.&lt;/div&gt;&lt;/div&gt;</us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock>
  <us-gaap:CapitalizedContractCostAmortization contextRef="d_2020-02-01_2021-01-31" decimals="-5" id="c71146630" unitRef="iso4217-usd">3300000</us-gaap:CapitalizedContractCostAmortization>
  <us-gaap:CapitalizedContractCostAmortization contextRef="d_2019-02-01_2020-01-31" decimals="-5" id="c71146631" unitRef="iso4217-usd">2500000</us-gaap:CapitalizedContractCostAmortization>
  <us-gaap:CapitalizedContractCostAmortization contextRef="d_2018-02-01_2019-01-31" decimals="-5" id="c71146632" unitRef="iso4217-usd">1800000</us-gaap:CapitalizedContractCostAmortization>
  <us-gaap:CapitalizedContractCostNet contextRef="i_2021-01-31" decimals="-5" id="c71146628" unitRef="iso4217-usd">12900000</us-gaap:CapitalizedContractCostNet>
  <us-gaap:CapitalizedContractCostNet contextRef="i_2020-01-31" decimals="-5" id="c71146629" unitRef="iso4217-usd">9800000</us-gaap:CapitalizedContractCostNet>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember" decimals="-3" id="c71152944" unitRef="iso4217-usd">1634000</us-gaap:CashAcquiredFromAcquisition>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-KontainersMember" decimals="-3" id="c71152945" unitRef="iso4217-usd">13000</us-gaap:CashAcquiredFromAcquisition>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember" decimals="-3" id="c71152946" unitRef="iso4217-usd">529000</us-gaap:CashAcquiredFromAcquisition>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c71153051" unitRef="iso4217-usd">170000</us-gaap:CashAcquiredFromAcquisition>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c71153052" unitRef="iso4217-usd">213000</us-gaap:CashAcquiredFromAcquisition>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c71153053" unitRef="iso4217-usd">2700000</us-gaap:CashAcquiredFromAcquisition>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c71153054" unitRef="iso4217-usd">507000</us-gaap:CashAcquiredFromAcquisition>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c71153214" unitRef="iso4217-usd">193000</us-gaap:CashAcquiredFromAcquisition>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" id="c71153215" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:CashAcquiredFromAcquisition contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c71153216" unitRef="iso4217-usd">769000</us-gaap:CashAcquiredFromAcquisition>
  <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="i_2021-01-31" decimals="-3" id="c71144859" unitRef="iso4217-usd">133661000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="i_2020-01-31" decimals="-3" id="c71144860" unitRef="iso4217-usd">44403000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="d_2020-02-01_2021-01-31" id="c71152862">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Cash&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Cash included highly liquid short-term deposits with original maturities of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt; months or less.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="i_2020-01-31" decimals="-3" id="c71145124" unitRef="iso4217-usd">44403000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="i_2019-01-31" decimals="-3" id="c71145125" unitRef="iso4217-usd">27298000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="i_2018-01-31" decimals="-3" id="c71145126" unitRef="iso4217-usd">35145000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="i_2021-01-31" decimals="-3" id="c71145127" unitRef="iso4217-usd">133661000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145121" unitRef="iso4217-usd">89258000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145122" unitRef="iso4217-usd">17105000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145123" unitRef="iso4217-usd">-7847000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
  <us-gaap:CashFlowSupplementalDisclosuresTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792250">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21&lt;/div&gt; &amp;#x2013; Supplemental Cash Flow Information&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following tables presents the cash flow changes in operating asset and liabilities:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 61%; text-align: left"&gt;Trade accounts receivable&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;143&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,733&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(135&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Other accounts receivable&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(7,098&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,547&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(451&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Prepaid expenses and other&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(5,029&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(5,942&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(4,466&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td&gt;Inventory&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;99&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(345&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;74&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Accounts payable&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(686&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,768&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,065&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Accrued liabilities&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(999&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,265&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,570&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Income taxes payable&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,835&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,550&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,423&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Operating leases&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;283&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;546&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Deferred revenue&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,877&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(4,184&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,047&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(3,575&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(5,256&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(3,849&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt;&lt;/div&gt;</us-gaap:CashFlowSupplementalDisclosuresTextBlock>
  <us-gaap:CommitmentsAndContingencies contextRef="i_2021-01-31" id="c71152770" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:CommitmentsAndContingencies contextRef="i_2020-01-31" id="c71152771" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792222">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;14&lt;/div&gt; - Commitments, Contingencies and Guarantees&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Commitments&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As described in Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2&lt;/div&gt; to these consolidated financial statements, we maintain deferred share unit (&amp;#x201c;DSU&amp;#x201d;) and cash-settled restricted share unit (&amp;#x201c;CRSU&amp;#x201d;) plans for our directors and employees. Any payments made pursuant to these plans are settled in cash. For DSUs and CRSUs, the units vest over time and the liability recognized at any given consolidated balance sheet date reflects only those units vested at that date that have &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; yet been settled in cash. As such, we had an unrecognized aggregate liability for the unvested DSUs and CRSUs of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;nil&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1.5&lt;/div&gt; million, respectively, at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021. &lt;/div&gt;The ultimate liability for any payment of DSUs and CRSUs is dependent on the trading price of our common shares. To partially offset our exposure to fluctuations in our stock price, we have entered into equity derivative contracts, including floating-rate equity forwards. As at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;we had equity derivatives for &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;226,525&lt;/div&gt; Descartes common shares and a DSU liability for &lt;div style="display: inline; color: black"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;226,525&lt;/div&gt; Descartes common shares, resulting in &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; net exposure resulting from changes to our share price&lt;/div&gt;.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Contingencies&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We are subject to a variety of other claims and suits that arise from time to time in the ordinary course of our business. The consequences of these matters are &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; presently determinable but, in the opinion of management after consulting with legal counsel, the ultimate aggregate potential liability is &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; currently expected to have a material effect on our results of operations or financial position.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Product Warranties&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In the normal course of operations, we provide our customers with product warranties relating to the performance of our hardware, software and services. To date, we have &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; encountered material costs as a result of such obligations and have &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; accrued any liabilities related to such obligations in our consolidated financial statements.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Business combination agreements&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In respect of our acquisitions of CORE, Kontainers and ShipTrack, up to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$31.6&lt;/div&gt; million in cash &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;become payable if certain revenue performance targets are met in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;two&lt;/div&gt; years following the acquisition. A balance of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$4.7&lt;/div&gt; million is accrued related to the fair value of this contingent consideration as at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Guarantees&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In the normal course of business, we enter into a variety of agreements that &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;contain features that meet the definition of a guarantee under ASC Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;460,&lt;/div&gt; &amp;#x201c;Guarantees&amp;#x201d;. The following lists our significant guarantees:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Intellectual property indemnification obligations&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We provide indemnifications of varying scope to our customers against claims of intellectual property infringement made by &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;third&lt;/div&gt; parties arising from the use of our products. In the event of such a claim, we are generally obligated to defend our customers against the claim and we are liable to pay damages and costs assessed against our customers that are payable as part of a final judgment or settlement. These intellectual property infringement indemnification clauses are &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; generally subject to any dollar limits and remain in force for the term of our license agreement with our customer, which license terms are typically perpetual. Historically, we have &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; encountered material costs as a result of such indemnification obligations.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Other indemnification agreements&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In the normal course of operations, we enter into various agreements that provide general indemnities. These indemnities typically arise in connection with purchases and sales of assets, securities offerings or buy-backs, service contracts, administration of employee benefit plans, retention of officers and directors, membership agreements, customer financing transactions, and leasing transactions. In addition, our corporate by-laws provide for the indemnification of our directors and officers. Each of these indemnities requires us, in certain circumstances, to compensate the counterparties for various costs resulting from breaches of representations or obligations under such arrangements, or as a result of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;third&lt;/div&gt; party claims that &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;be suffered by the counterparty as a consequence of the transaction. We believe that the likelihood that we could incur significant liability under these obligations is remote. Historically, we have &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; made any significant payments under such indemnities.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 28 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In evaluating estimated losses for the guarantees or indemnities described above, we consider such factors as the degree of probability of an unfavorable outcome and the ability to make a reasonable estimate of the amount of loss. We are unable to make a reasonable estimate of the maximum potential amount payable under such guarantees or indemnities as many of these arrangements do &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; specify a maximum potential dollar exposure or time limitation. The amount also depends on the outcome of future events and conditions, which cannot be predicted. Given the foregoing, to date, we have &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; accrued any liability in our consolidated financial statements for the guarantees or indemnities described above.&lt;/div&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
  <us-gaap:CommonStockSharesIssued contextRef="i_2021-01-31" decimals="INF" id="c71146649" unitRef="xbrli-shares">84494658</us-gaap:CommonStockSharesIssued>
  <us-gaap:CommonStockSharesIssued contextRef="i_2020-01-31" decimals="INF" id="c71146650" unitRef="xbrli-shares">84156316</us-gaap:CommonStockSharesIssued>
  <us-gaap:CommonStockSharesOutstanding contextRef="i_2021-01-31" decimals="INF" id="c71146651" unitRef="xbrli-shares">84494658</us-gaap:CommonStockSharesOutstanding>
  <us-gaap:CommonStockSharesOutstanding contextRef="i_2020-01-31" decimals="INF" id="c71146652" unitRef="xbrli-shares">84156316</us-gaap:CommonStockSharesOutstanding>
  <us-gaap:CommonStockSharesOutstanding contextRef="i_2019-01-31" decimals="-3" id="c71145576" unitRef="xbrli-shares">76865000</us-gaap:CommonStockSharesOutstanding>
  <us-gaap:CommonStockSharesOutstanding contextRef="i_2018-01-31" decimals="-3" id="c71145577" unitRef="xbrli-shares">76773000</us-gaap:CommonStockSharesOutstanding>
  <us-gaap:CommonStockValue contextRef="i_2021-01-31" decimals="-3" id="c71144909" unitRef="iso4217-usd">531825000</us-gaap:CommonStockValue>
  <us-gaap:CommonStockValue contextRef="i_2020-01-31" decimals="-3" id="c71144910" unitRef="iso4217-usd">524154000</us-gaap:CommonStockValue>
  <us-gaap:ComprehensiveIncomeNetOfTax contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145004" unitRef="iso4217-usd">76855000</us-gaap:ComprehensiveIncomeNetOfTax>
  <us-gaap:ComprehensiveIncomeNetOfTax contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145005" unitRef="iso4217-usd">36254000</us-gaap:ComprehensiveIncomeNetOfTax>
  <us-gaap:ComprehensiveIncomeNetOfTax contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145006" unitRef="iso4217-usd">21328000</us-gaap:ComprehensiveIncomeNetOfTax>
  <us-gaap:ConsolidationPolicyTextBlock contextRef="d_2020-02-01_2021-01-31" id="c71152859">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Basis of consolidation&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The consolidated financial statements include the financial statements of Descartes and our wholly-owned subsidiaries. We do &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; have any variable interests in variable interest entities. All intercompany accounts and transactions have been eliminated during consolidation.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ConsolidationPolicyTextBlock>
  <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-31">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Deferred Revenue&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 87%; text-indent: -0.5in; padding-left: 0.5in"&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;35,091&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Recognition of previously deferred revenue&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(30,580&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Deferral of revenue&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;37,408&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Increases from business combinations, net&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;551&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Effect of movements in foreign exchange&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(407&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-indent: -0.5in; padding-left: 0.5in"&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;42,063&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Recognition of previously deferred revenue&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(37,843&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Deferral of revenue&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;46,386&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Increases from business combinations, net&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;39&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Effect of movements in foreign exchange&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;646&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt; text-indent: -15pt; padding-left: 15pt"&gt;Balance at January 31, 2021&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;51,291&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Current&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;49,878&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Long-term&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,413&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Contract Assets&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 87%; text-indent: -0.5in; padding-left: 0.5in"&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;812&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Transfers to trade receivables from contract assets&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(490&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Increases as a result of delivered term licenses recognized as revenue during the period, net of amounts transferred to trade receivables&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;791&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Effect of movements in foreign exchange&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(6&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-indent: -0.5in; padding-left: 0.5in"&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,107&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Transfers to trade receivables from contract assets&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(563&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Increases as a result of delivered term licenses recognized as revenue during the period, net of amounts transferred to trade receivables&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;783&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Effect of movements in foreign exchange&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt; text-indent: -15pt; padding-left: 15pt"&gt;Balance at January 31, 2021&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,353&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
  <us-gaap:ContractWithCustomerAssetNet contextRef="i_2018-02-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member" decimals="-3" id="c71146206" unitRef="iso4217-usd">500000</us-gaap:ContractWithCustomerAssetNet>
  <us-gaap:ContractWithCustomerAssetNet contextRef="i_2020-01-31" decimals="-3" id="c71145988" unitRef="iso4217-usd">1107000</us-gaap:ContractWithCustomerAssetNet>
  <us-gaap:ContractWithCustomerAssetNet contextRef="i_2021-01-31" decimals="-3" id="c71145992" unitRef="iso4217-usd">1353000</us-gaap:ContractWithCustomerAssetNet>
  <us-gaap:ContractWithCustomerAssetReclassifiedToReceivable contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145985" unitRef="iso4217-usd">490000</us-gaap:ContractWithCustomerAssetReclassifiedToReceivable>
  <us-gaap:ContractWithCustomerAssetReclassifiedToReceivable contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145989" unitRef="iso4217-usd">563000</us-gaap:ContractWithCustomerAssetReclassifiedToReceivable>
  <us-gaap:ContractWithCustomerLiability contextRef="i_2019-01-31" decimals="-3" id="c71145971" unitRef="iso4217-usd">35091000</us-gaap:ContractWithCustomerLiability>
  <us-gaap:ContractWithCustomerLiability contextRef="i_2020-01-31" decimals="-3" id="c71145976" unitRef="iso4217-usd">42063000</us-gaap:ContractWithCustomerLiability>
  <us-gaap:ContractWithCustomerLiability contextRef="i_2021-01-31" decimals="-3" id="c71145981" unitRef="iso4217-usd">51291000</us-gaap:ContractWithCustomerLiability>
  <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="i_2021-01-31" decimals="-3" id="c71145982" unitRef="iso4217-usd">49878000</us-gaap:ContractWithCustomerLiabilityCurrent>
  <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="i_2020-01-31" decimals="-3" id="c71144894" unitRef="iso4217-usd">41143000</us-gaap:ContractWithCustomerLiabilityCurrent>
  <us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145974" unitRef="iso4217-usd">551000</us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination>
  <us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145979" unitRef="iso4217-usd">39000</us-gaap:ContractWithCustomerLiabilityIncreaseDecreaseForContractAcquiredInBusinessCombination>
  <us-gaap:ContractWithCustomerLiabilityNoncurrent contextRef="i_2021-01-31" decimals="-3" id="c71145983" unitRef="iso4217-usd">1413000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
  <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145972" unitRef="iso4217-usd">-30580000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
  <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145977" unitRef="iso4217-usd">-37843000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
  <us-gaap:CostOfGoodsAndServicesSold contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71144931" unitRef="iso4217-usd">89910000</us-gaap:CostOfGoodsAndServicesSold>
  <us-gaap:CostOfGoodsAndServicesSold contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71144932" unitRef="iso4217-usd">85721000</us-gaap:CostOfGoodsAndServicesSold>
  <us-gaap:CostOfGoodsAndServicesSold contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71144933" unitRef="iso4217-usd">74994000</us-gaap:CostOfGoodsAndServicesSold>
  <us-gaap:CurrentFederalTaxExpenseBenefit contextRef="d_2020-02-01_2021-01-31_AdjustmentsForChangeInAccountingPrincipleAxis-VolunatryChangeElectedToAdoptInAccountingForDeferredRevenueForIncomeTaxPurposesInTheUnitedStatesMember" decimals="-5" id="c71146604" unitRef="iso4217-usd">-9300000</us-gaap:CurrentFederalTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71144967" unitRef="iso4217-usd">3746000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71144968" unitRef="iso4217-usd">5295000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71144969" unitRef="iso4217-usd">6042000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2020-02-01_2021-01-31_IncomeTaxAuthorityAxis-CA" decimals="-3" id="c71145826" unitRef="iso4217-usd">1875000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-01-31_IncomeTaxAuthorityAxis-CA" decimals="-3" id="c71145827" unitRef="iso4217-usd">1020000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-CA" decimals="-3" id="c71145828" unitRef="iso4217-usd">3037000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2020-02-01_2021-01-31_IncomeTaxAuthorityAxis-US" decimals="-3" id="c71145829" unitRef="iso4217-usd">-3050000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-01-31_IncomeTaxAuthorityAxis-US" decimals="-3" id="c71145830" unitRef="iso4217-usd">3496000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-US" decimals="-3" id="c71145831" unitRef="iso4217-usd">1298000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2020-02-01_2021-01-31_IncomeTaxAuthorityAxis-OtherCountriesMember" decimals="-3" id="c71145832" unitRef="iso4217-usd">4921000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-01-31_IncomeTaxAuthorityAxis-OtherCountriesMember" decimals="-3" id="c71145833" unitRef="iso4217-usd">779000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-OtherCountriesMember" decimals="-3" id="c71145834" unitRef="iso4217-usd">1707000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <us-gaap:DebtDisclosureTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792216">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12&lt;/div&gt; &amp;#x2013; Long-Term Debt&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 25, 2019, &lt;/div&gt;we amended and increased our senior secured revolving credit facility. The amended facility is now a &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$350.0&lt;/div&gt; million revolving operating credit facility to be available for general corporate purposes, including the financing of ongoing working capital needs and acquisitions. With the approval of the lenders, the credit facility can be expanded to a total of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$500.0&lt;/div&gt; million. The credit facility has a &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;five&lt;/div&gt;-year maturity with &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; fixed repayment dates prior to the end of the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;five&lt;/div&gt;-year term ending &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 2024. &lt;/div&gt;Borrowings under the credit facility are secured by a &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;first&lt;/div&gt; charge over substantially all of Descartes' assets. Depending on the type of advance, interest rates under the revolving operating portion of the credit facility are based on the Canada or US prime rate, Bankers' Acceptance (BA) or London Interbank Offered Rate (LIBOR) plus an additional &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;250&lt;/div&gt; basis points based on the ratio of net debt to adjusted earnings before interest, taxes, depreciation and amortization, as defined in the credit agreement. A standby fee of between &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;20&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;40&lt;/div&gt; basis points will be charged on all undrawn amounts. The credit facility contains certain customary representations, warranties and guarantees, and covenants.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 26 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;No&lt;/div&gt; amounts were drawn on the credit facility as of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021 &lt;/div&gt;and the balance of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$350.0&lt;/div&gt; million is available for use. We were in compliance with the covenants of the credit facility as of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;we had outstanding letters of credit of approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.2&lt;/div&gt; million (&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.2&lt;/div&gt; million as at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2020), &lt;/div&gt;which were &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; related to our credit facility.&lt;/div&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
  <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 contextRef="d_2019-01-25_2019-01-25_CreditFacilityAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MinimumMember_VariableRateAxis-CanadaOrUsPrimeRateBaOrLiborMember" decimals="3" id="c71146451" unitRef="xbrli-pure">0</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
  <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 contextRef="d_2019-01-25_2019-01-25_CreditFacilityAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MaximumMember_VariableRateAxis-CanadaOrUsPrimeRateBaOrLiborMember" decimals="3" id="c71146452" unitRef="xbrli-pure">0.025</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
  <us-gaap:DebtInstrumentTerm contextRef="d_2019-01-25_2019-01-25_CreditFacilityAxis-LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember" id="c71146447">P5Y</us-gaap:DebtInstrumentTerm>
  <us-gaap:DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent contextRef="i_2021-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="-3" id="c71146571" unitRef="iso4217-usd">13800000</us-gaap:DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent>
  <us-gaap:DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent contextRef="i_2020-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="-3" id="c71146572" unitRef="iso4217-usd">11300000</us-gaap:DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent>
  <us-gaap:DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent contextRef="i_2021-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember" decimals="-3" id="c71146583" unitRef="iso4217-usd">900000</us-gaap:DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent>
  <us-gaap:DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent contextRef="i_2020-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember" decimals="-3" id="c71146584" unitRef="iso4217-usd">800000</us-gaap:DeferredCompensationSharebasedArrangementsLiabilityCurrentAndNoncurrent>
  <us-gaap:DeferredFederalIncomeTaxExpenseBenefit contextRef="d_2020-02-01_2021-01-31_AdjustmentsForChangeInAccountingPrincipleAxis-VolunatryChangeElectedToAdoptInAccountingForDeferredRevenueForIncomeTaxPurposesInTheUnitedStatesMember" decimals="-5" id="c71171240" unitRef="iso4217-usd">9300000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxAssetsNet contextRef="i_2021-01-31" decimals="-3" id="c71144877" unitRef="iso4217-usd">15216000</us-gaap:DeferredIncomeTaxAssetsNet>
  <us-gaap:DeferredIncomeTaxAssetsNet contextRef="i_2020-01-31" decimals="-3" id="c71144878" unitRef="iso4217-usd">21602000</us-gaap:DeferredIncomeTaxAssetsNet>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145079" unitRef="iso4217-usd">14523000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145080" unitRef="iso4217-usd">5743000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145081" unitRef="iso4217-usd">2191000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2020-02-01_2021-01-31_IncomeTaxAuthorityAxis-CA" decimals="-3" id="c71145838" unitRef="iso4217-usd">7047000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-01-31_IncomeTaxAuthorityAxis-CA" decimals="-3" id="c71145839" unitRef="iso4217-usd">5008000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-CA" decimals="-3" id="c71145840" unitRef="iso4217-usd">2531000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2020-02-01_2021-01-31_IncomeTaxAuthorityAxis-US" decimals="-3" id="c71145841" unitRef="iso4217-usd">9537000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-01-31_IncomeTaxAuthorityAxis-US" decimals="-3" id="c71145842" unitRef="iso4217-usd">1390000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-US" decimals="-3" id="c71145843" unitRef="iso4217-usd">67000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2020-02-01_2021-01-31_IncomeTaxAuthorityAxis-OtherCountriesMember" decimals="-3" id="c71145844" unitRef="iso4217-usd">-2061000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-01-31_IncomeTaxAuthorityAxis-OtherCountriesMember" decimals="-3" id="c71145845" unitRef="iso4217-usd">-655000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-OtherCountriesMember" decimals="-3" id="c71145846" unitRef="iso4217-usd">-407000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <us-gaap:DeferredIncomeTaxLiabilities contextRef="i_2021-01-31" decimals="-3" id="c71145873" unitRef="iso4217-usd">47139000</us-gaap:DeferredIncomeTaxLiabilities>
  <us-gaap:DeferredIncomeTaxLiabilities contextRef="i_2020-01-31" decimals="-3" id="c71145874" unitRef="iso4217-usd">43097000</us-gaap:DeferredIncomeTaxLiabilities>
  <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="i_2018-02-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member" decimals="-3" id="c71146208" unitRef="iso4217-usd">1100000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
  <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="i_2021-01-31" decimals="-3" id="c71144905" unitRef="iso4217-usd">29385000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
  <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="i_2020-01-31" decimals="-3" id="c71144906" unitRef="iso4217-usd">15067000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
  <us-gaap:DeferredRevenueNoncurrent contextRef="i_2021-01-31" decimals="-3" id="c71144901" unitRef="iso4217-usd">1413000</us-gaap:DeferredRevenueNoncurrent>
  <us-gaap:DeferredRevenueNoncurrent contextRef="i_2020-01-31" decimals="-3" id="c71144902" unitRef="iso4217-usd">920000</us-gaap:DeferredRevenueNoncurrent>
  <us-gaap:DeferredTaxAssetsGross contextRef="i_2021-01-31" decimals="-3" id="c71145865" unitRef="iso4217-usd">44336000</us-gaap:DeferredTaxAssetsGross>
  <us-gaap:DeferredTaxAssetsGross contextRef="i_2020-01-31" decimals="-3" id="c71145866" unitRef="iso4217-usd">60102000</us-gaap:DeferredTaxAssetsGross>
  <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards contextRef="i_2021-01-31" decimals="-3" id="c71145857" unitRef="iso4217-usd">12866000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
  <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards contextRef="i_2020-01-31" decimals="-3" id="c71145858" unitRef="iso4217-usd">10579000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
  <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment contextRef="i_2021-01-31" decimals="-3" id="c71145861" unitRef="iso4217-usd">23754000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
  <us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment contextRef="i_2020-01-31" decimals="-3" id="c71145862" unitRef="iso4217-usd">33929000</us-gaap:DeferredTaxAssetsPropertyPlantAndEquipment>
  <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch contextRef="i_2021-01-31" decimals="-3" id="c71145863" unitRef="iso4217-usd">1649000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
  <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch contextRef="i_2020-01-31" decimals="-3" id="c71145864" unitRef="iso4217-usd">756000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost contextRef="i_2021-01-31" decimals="-3" id="c71146533" unitRef="iso4217-usd">700000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost contextRef="i_2020-01-31" decimals="-3" id="c71146534" unitRef="iso4217-usd">700000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities contextRef="i_2021-01-31" decimals="-3" id="c71145855" unitRef="iso4217-usd">4471000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities contextRef="i_2020-01-31" decimals="-3" id="c71145856" unitRef="iso4217-usd">14838000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
  <us-gaap:DeferredTaxAssetsValuationAllowance contextRef="i_2021-01-31" decimals="-3" id="c71145877" unitRef="iso4217-usd">11365000</us-gaap:DeferredTaxAssetsValuationAllowance>
  <us-gaap:DeferredTaxAssetsValuationAllowance contextRef="i_2020-01-31" decimals="-3" id="c71145878" unitRef="iso4217-usd">10470000</us-gaap:DeferredTaxAssetsValuationAllowance>
  <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets contextRef="i_2021-01-31" decimals="-3" id="c71145867" unitRef="iso4217-usd">45030000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
  <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets contextRef="i_2020-01-31" decimals="-3" id="c71145868" unitRef="iso4217-usd">41381000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
  <us-gaap:DeferredTaxLiabilitiesOther contextRef="i_2021-01-31" decimals="-3" id="c71145871" unitRef="iso4217-usd">2109000</us-gaap:DeferredTaxLiabilitiesOther>
  <us-gaap:DeferredTaxLiabilitiesOther contextRef="i_2020-01-31" decimals="-3" id="c71145872" unitRef="iso4217-usd">1716000</us-gaap:DeferredTaxLiabilitiesOther>
  <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="i_2021-01-31" id="c71145869" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment contextRef="i_2020-01-31" id="c71145870" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:Depreciation contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145067" unitRef="iso4217-usd">5757000</us-gaap:Depreciation>
  <us-gaap:Depreciation contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145068" unitRef="iso4217-usd">6037000</us-gaap:Depreciation>
  <us-gaap:Depreciation contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145069" unitRef="iso4217-usd">4544000</us-gaap:Depreciation>
  <us-gaap:DerivativeAssets contextRef="i_2021-01-31_HedgingDesignationAxis-DesignatedAsHedgingInstrumentMember" id="c71145447" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:DerivativeAssets contextRef="i_2021-01-31_HedgingDesignationAxis-NondesignatedMember" decimals="-3" id="c71145448" unitRef="iso4217-usd">8001000</us-gaap:DerivativeAssets>
  <us-gaap:DerivativeAssets contextRef="i_2021-01-31" decimals="-3" id="c71145449" unitRef="iso4217-usd">8001000</us-gaap:DerivativeAssets>
  <us-gaap:DerivativeAssets contextRef="i_2020-01-31_HedgingDesignationAxis-DesignatedAsHedgingInstrumentMember" id="c71145451" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:DerivativeAssets contextRef="i_2020-01-31_HedgingDesignationAxis-NondesignatedMember" decimals="-3" id="c71145452" unitRef="iso4217-usd">5656000</us-gaap:DerivativeAssets>
  <us-gaap:DerivativeAssets contextRef="i_2020-01-31" decimals="-3" id="c71145453" unitRef="iso4217-usd">5656000</us-gaap:DerivativeAssets>
  <us-gaap:DerivativeGainOnDerivative contextRef="d_2020-02-01_2021-01-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember" decimals="-5" id="c71146409" unitRef="iso4217-usd">3400000</us-gaap:DerivativeGainOnDerivative>
  <us-gaap:DerivativeGainOnDerivative contextRef="d_2019-02-01_2020-01-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember" decimals="-5" id="c71146410" unitRef="iso4217-usd">4000000</us-gaap:DerivativeGainOnDerivative>
  <us-gaap:DerivativeGainOnDerivative contextRef="d_2018-02-01_2019-01-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember" decimals="-5" id="c71146411" unitRef="iso4217-usd">1200000</us-gaap:DerivativeGainOnDerivative>
  <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792227">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;17&lt;/div&gt; - Stock-Based Compensation Plans&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Total estimated stock-based compensation expense recognized in our consolidated statement of operations was as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 61%"&gt;Cost of revenues&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;319&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;220&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;160&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Sales and marketing&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;896&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;706&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;436&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Research and development&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;404&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;281&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;184&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;General and administrative&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,694&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,702&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,930&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Effect on net income&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,313&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,909&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,710&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Differences between how GAAP and applicable income tax laws treat the amount and timing of recognition of stock-based compensation expense &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;result in a deferred tax asset. We have recorded a valuation allowance against any such deferred tax asset except for &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.7&lt;/div&gt; million (&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.7&lt;/div&gt; million at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2020) &lt;/div&gt;recognized in the United States. The tax benefit realized in connection with stock options exercised during &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt; was nominal, &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.1&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.2&lt;/div&gt; million, respectively.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Stock Options&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;we had &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,147,720&lt;/div&gt; stock options granted and outstanding under our shareholder-approved stock option plan and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,303,444&lt;/div&gt; remained available for grant.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$5.1&lt;/div&gt; million of total unrecognized compensation costs, net of forfeitures, related to non-vested stock option awards is expected to be recognized over a weighted average period of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2.7&lt;/div&gt; years. The total fair value of stock options vested during &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&lt;/div&gt; was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$2.3&lt;/div&gt; million.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The total number of options granted during the years ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt; was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;381,859,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;367,173&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;272,144,&lt;/div&gt; respectively. The weighted average grant-date fair value of options granted during the years ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt; was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$10.19,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$8.99&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$7.10&lt;/div&gt; per option, respectively.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The weighted-average assumptions were as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31, 2021&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;January 31, 2020&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;January 31, 2019&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Expected dividend yield (%)&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="width: 61%; text-align: left"&gt;Expected volatility (%)&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26.4&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;23.5&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;23.6&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Risk-free rate (%)&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.7&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1.4&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2.0&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Expected option life (years)&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 31 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;A summary of option activity under all of our plans is presented as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="text-align: center"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Number of Stock Options Outstanding&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted-&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Average Exercise&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Price&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Weighted- Average Remaining Contractual Life (years)&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Aggregate Intrinsic&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Value&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(in millions)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 40%"&gt;Balance at January 31, 2019&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;879,338&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21.41&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.7&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8.7&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;367,173&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;$&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;38.06&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Exercised&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(94,970&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;$&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;15.62&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; padding-bottom: 1pt"&gt;Forfeited&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(23,719&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;31.93&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td&gt;Balance at January 31, 2020&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,127,822&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;$&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26.82&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.6&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;$&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;20.2&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;381,859&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;41.51&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Exercised&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(338,342&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18.43&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; padding-bottom: 1pt"&gt;Forfeited&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(23,619&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;33.88&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2021&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,147,720&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;33.77&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.9&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;28.1&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Vested or expected to vest at January 31, 2021&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,147,720&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;33.77&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.9&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;28.1&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-bottom: 1pt"&gt;Exercisable at January 31, 2021&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;646,065&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;29.52&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.3&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18.6&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The total intrinsic value of options exercised during the years ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt; was approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$10.8&lt;/div&gt; million, &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$2.0&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.8&lt;/div&gt; million, respectively.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Options outstanding and options exercisable as at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021 &lt;/div&gt;by range of exercise price are as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td colspan="3" style="text-align: center"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="11" style="border-top: Black 1pt solid; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Options Outstanding&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="7" style="border-top: Black 1pt solid; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Options Exercisable&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td colspan="3" style="font-style: italic; text-align: left"&gt;Range of Exercise Prices&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;Weighted &lt;br /&gt;Average Exercise Price&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;Number of Stock Options&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;Weighted Average Remaining Contractual Life (years)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;Weighted Average Exercise Price&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;Number of Stock Options&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: center; width: 7%; padding-left: 0pt"&gt;$11.32&lt;/td&gt;  &lt;td style="text-align: center; padding-left: 0pt; width: 7%"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: center; padding-left: 0pt; width: 7%"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$22.34&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="width: 13%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21.06&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 13%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;220,559&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 13%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2.9&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="width: 13%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21.01&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;203,459&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: center; padding-left: 0pt"&gt;$25.65&lt;/td&gt;  &lt;td style="text-align: center; padding-left: 0pt"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: center; padding-left: 0pt"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$27.23&lt;/div&gt;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;$&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;27.22&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;217,381&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.2&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;$&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;27.23&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;186,707&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: center; padding-left: 0pt"&gt;$37.66&lt;/td&gt;  &lt;td style="text-align: center; padding-left: 0pt"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: center; padding-left: 0pt"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$39.30&lt;/div&gt;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;$&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;38.09&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;636,869&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5.7&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;$&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;37.96&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;255,899&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: center; padding-left: 0pt"&gt;$49.04&lt;/td&gt;  &lt;td style="text-align: center; padding-left: 0pt"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: center; padding-left: 0pt"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$55.04&lt;/div&gt;&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;54.11&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;72,911&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6.7&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td colspan="3" style="text-align: center; padding-bottom: 1pt; padding-left: 12pt"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;33.77&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,147,720&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.9&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;29.52&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;646,065&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 32 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; color: black"&gt;A summary of the status of our unvested stock options &lt;/div&gt;under our shareholder-approved stock option plan &lt;div style="display: inline; color: black"&gt;as of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021 &lt;/div&gt;is presented as follows:&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="text-align: center"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Number of Stock Options Outstanding&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted-&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Average Grant-Date Fair Value per Share&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 70%"&gt;Balance at January 31, 2019&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;325,218&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6.18&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;367,173&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;$&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8.99&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Vested&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(259,269&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;$&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6.96&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; padding-bottom: 1pt"&gt;Forfeited&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(23,469&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7.69&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td&gt;Balance at January 31, 2020&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;409,653&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;$&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8.03&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;381,859&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10.19&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Vested&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(266,238&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8.19&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; padding-bottom: 1pt"&gt;Forfeited&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(23,619&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.87&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2021&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;501,655&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;9.52&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Performance Share Units&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;A summary of PSU activity is as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="text-align: center"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Number of PSUs Outstanding&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted-&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Average Granted Date Fair Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Weighted- Average Remaining Contractual Life (years)&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Aggregate Intrinsic&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Value&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(in millions)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 48%"&gt;Balance at January 31, 2019&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;530,383&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18.02&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5.5&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16.6&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;53,729&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;$&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;53.65&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Performance units issued&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;45,762&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;23.24&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td&gt;Balance at January 31, 2020&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;629,874&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;$&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21.19&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5.0&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;$&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;28.2&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;85,334&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;54.24&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Performance units issued&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;40,665&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;29.08&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2021&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;755,873&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;25.17&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.7&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;44.0&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Vested or expected to vest at January 31, 2021&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;755,873&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;25.17&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.7&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;44.0&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-bottom: 1pt"&gt;Exercisable at January 31, 2021&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;562,459&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;17.21&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3.5&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;32.8&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The aggregate intrinsic values represent the total pre-tax intrinsic value (the aggregate closing share price of our common shares on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021) &lt;/div&gt;that would have been received by PSU holders if all PSUs had been vested on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$4.9&lt;/div&gt; million of total unrecognized compensation costs related to non-vested awards is expected to be recognized over a weighted average period of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1.2&lt;/div&gt; years. The total fair value of PSUs vested during &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&lt;/div&gt; was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1.2&lt;/div&gt; million.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 33 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Restricted Share Units&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;A summary of RSU activity is as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="text-align: center"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Number of RSUs Outstanding&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted-&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Average Granted Date Fair Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Weighted- Average Remaining Contractual Life (years)&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Aggregate Intrinsic&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Value&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(in millions)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 48%"&gt;Balance at January 31, 2019&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;337,066&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;14.42&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5.6&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10.6&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; padding-bottom: 1pt"&gt;Granted&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;37,611&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;38.04&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td&gt;Balance at January 31, 2020&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;374,677&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;$&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16.57&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5.0&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;$&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16.8&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; padding-bottom: 1pt"&gt;Granted&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;57,518&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;43.25&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2021&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;432,195&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;19.98&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.7&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;25.2&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Vested or expected to vest at January 31, 2021&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;432,195&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;19.98&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.7&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;25.2&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-bottom: 1pt"&gt;Exercisable at January 31, 2021&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;375,845&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16.50&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.1&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21.9&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The aggregate intrinsic values represent the total pre-tax intrinsic value (the aggregate closing share price of our common shares on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021) &lt;/div&gt;that would have been received by RSU holders if all RSUs had been vested on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$2.5&lt;/div&gt; million of total unrecognized compensation costs related to non-vested awards is expected to be recognized over a weighted average period of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1.8&lt;/div&gt; years. The total fair value of RSUs vested during &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&lt;/div&gt; was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1.4&lt;/div&gt; million.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Deferred Share Unit Plan&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;the total number of DSUs held by participating directors was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;226,525&lt;/div&gt; (&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;251,422&lt;/div&gt; at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2020), &lt;/div&gt;representing an aggregate accrued liability of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$13.8&lt;/div&gt; million (&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$11.3&lt;/div&gt; million at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2020). &lt;/div&gt;During &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;23,369&lt;/div&gt; DSUs were granted and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;48,266&lt;/div&gt; DSUs were redeemed and settled in cash. As at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;the unrecognized aggregate liability for the unvested DSUs was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;nil&lt;/div&gt; (&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;nil&lt;/div&gt; at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2020). &lt;/div&gt;The fair value of the DSU liability is based on the closing price of our common shares at the balance sheet date. The total compensation cost related to DSUs recognized in our consolidated statements of operations was approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$4.6&lt;/div&gt; million, &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$5.0&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$2.2&lt;/div&gt; million for the years ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019,&lt;/div&gt; respectively.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 34 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Cash-Settled Restricted Share Unit Plan&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;A summary of activity under our CRSU plan is as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="text-align: center"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Number of CRSUs Outstanding&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Weighted- Average Remaining Contractual Life (years)&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 74%"&gt;Balance at January 31, 2019&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;45,063&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1.6&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;30,086&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Vested and settled in cash&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(32,422&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td&gt;Balance at January 31, 2020&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;42,727&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1.6&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26,629&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Vested and settled in cash&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(30,340&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; padding-bottom: 1pt"&gt;Forfeited&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(248&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2021&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;38,628&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1.5&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt"&gt;Non-vested at January 31, 2021&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;38,628&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1.5&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We recognize the compensation cost of the CRSUs ratably over the service/vesting period relating to the grant and have recorded an aggregate accrued liability of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.9&lt;/div&gt; million at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021 (&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.8&lt;/div&gt; million at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2020). &lt;/div&gt;As at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;the unrecognized aggregate liability for the unvested CRSUs was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1.5&lt;/div&gt; million (&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1.1&lt;/div&gt; million at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2020). &lt;/div&gt;The fair value of the CRSU liability is based on the closing price of our common shares at the balance sheet date. The total compensation cost related to CRSUs recognized in our consolidated statements of operations was approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1.1&lt;/div&gt; million, &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.9&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.8&lt;/div&gt; million for the years ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019,&lt;/div&gt; respectively.&lt;/div&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
  <us-gaap:EarningsPerShareBasic contextRef="d_2020-02-01_2021-01-31" decimals="INF" id="c71145606" unitRef="iso4217-usd-per-xbrli-shares">0.62</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareBasic contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c71145607" unitRef="iso4217-usd-per-xbrli-shares">0.45</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareBasic contextRef="d_2018-02-01_2019-01-31" decimals="INF" id="c71145608" unitRef="iso4217-usd-per-xbrli-shares">0.41</us-gaap:EarningsPerShareBasic>
  <us-gaap:EarningsPerShareDiluted contextRef="d_2020-02-01_2021-01-31" decimals="INF" id="c71145609" unitRef="iso4217-usd-per-xbrli-shares">0.61</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerShareDiluted contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c71145610" unitRef="iso4217-usd-per-xbrli-shares">0.45</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerShareDiluted contextRef="d_2018-02-01_2019-01-31" decimals="INF" id="c71145611" unitRef="iso4217-usd-per-xbrli-shares">0.40</us-gaap:EarningsPerShareDiluted>
  <us-gaap:EarningsPerSharePolicyTextBlock contextRef="d_2020-02-01_2021-01-31" id="c71152875">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Earnings per share&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Basic earnings per share is calculated by dividing net income by the weighted average number of common shares outstanding during the period. Diluted earnings per common share is calculated by dividing net income by the sum of the weighted average number of common shares outstanding and all additional common shares that would have been outstanding if potentially dilutive common shares had been issued during the period. The treasury stock method is used to compute the dilutive effect of stock-based compensation.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
  <us-gaap:EarningsPerShareTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792225">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16&lt;/div&gt; - Earnings Per Share&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following table sets forth the computation of basic and diluted earnings per share (&amp;#x201c;EPS&amp;#x201d;) (number of shares in thousands):&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0"&gt;January 31,&lt;/div&gt; &lt;div style=" margin-top: 0; margin-bottom: 0"&gt;2021&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0"&gt;January 31,&lt;/div&gt; &lt;div style=" margin-top: 0; margin-bottom: 0"&gt;2020&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0"&gt;January 31,&lt;/div&gt; &lt;div style=" margin-top: 0; margin-bottom: 0"&gt;2019&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="3" style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="3" style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="3" style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 61%; text-align: left; padding-bottom: 1pt"&gt;Net income for purposes of calculating basic and diluted earnings per share&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;52,100&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;36,997&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;31,277&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td&gt;Weighted average shares outstanding&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;84,360&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;81,659&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;76,832&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Dilutive effect of employee stock options&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;358&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;318&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;205&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Dilutive effect of restricted and performance share units&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,038&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;890&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;754&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Weighted average common and common equivalent shares outstanding&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;85,756&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;82,867&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;77,791&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td&gt;Earnings per share&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Basic&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.62&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.45&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.41&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; padding-bottom: 1pt"&gt;Diluted&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.61&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.45&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.40&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;For the years ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019,&lt;/div&gt; the application of the treasury stock method excluded &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,750,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;350,464&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;271,869&lt;/div&gt; stock options, respectively, from the calculation of diluted EPS as the assumed proceeds from the unrecognized stock-based compensation expense of such stock options that are attributed to future service periods made such stock options anti-dilutive.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;For the years ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;71,161,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,909&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;nil&lt;/div&gt; stock options, respectively, were excluded from the calculation of diluted EPS as those options had an exercise price greater than or equal to the average market value of our common shares during the applicable periods and their inclusion would have been anti-dilutive.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Additionally, for the years ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019,&lt;/div&gt; the application of the treasury stock method excluded PSUs and RSUs of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;43,002,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;nil&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;nil,&lt;/div&gt; respectively, from the calculation of diluted EPS as the unrecognized stock-based compensation expense of such PSUs and RSUs that are attributed to future service periods made such PSUs and RSUs anti-dilutive.&lt;/div&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
  <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145118" unitRef="iso4217-usd">4633000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
  <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145119" unitRef="iso4217-usd">-363000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
  <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145120" unitRef="iso4217-usd">-1368000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
  <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="d_2020-02-01_2021-01-31" decimals="2" id="c71146599" unitRef="xbrli-pure">0.05</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
  <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="d_2019-02-01_2020-01-31" decimals="2" id="c71146600" unitRef="xbrli-pure">0.11</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
  <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="d_2018-02-01_2019-01-31" decimals="2" id="c71146601" unitRef="xbrli-pure">0.15</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
  <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="d_2020-02-01_2021-01-31" decimals="3" id="c71145886" unitRef="xbrli-pure">0.265</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
  <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="d_2019-02-01_2020-01-31" decimals="3" id="c71145887" unitRef="xbrli-pure">0.265</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
  <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="d_2018-02-01_2019-01-31" decimals="3" id="c71145888" unitRef="xbrli-pure">0.265</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
  <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="i_2021-01-31" decimals="-3" id="c71145542" unitRef="iso4217-usd">24643000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
  <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="i_2020-01-31" decimals="-3" id="c71145543" unitRef="iso4217-usd">20613000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="i_2021-01-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="-3" id="c71146542" unitRef="iso4217-usd">5100000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="i_2021-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="-3" id="c71146561" unitRef="iso4217-usd">4900000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="i_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-3" id="c71146565" unitRef="iso4217-usd">2500000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="i_2021-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="-3" id="c71146576" unitRef="iso4217-usd">0</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="i_2020-01-31_PlanNameAxis-DeferredShareUnitPlanMember" decimals="-3" id="c71146577" unitRef="iso4217-usd">0</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="i_2021-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember" decimals="-3" id="c71146585" unitRef="iso4217-usd">1500000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="i_2020-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember" decimals="-3" id="c71146586" unitRef="iso4217-usd">1100000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-EmployeeStockOptionMember" id="c71146543">P2Y255D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-PerformanceSharesMember" id="c71146562">P1Y73D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" id="c71146566">P1Y292D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
  <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71146538" unitRef="iso4217-usd">100000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
  <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71146539" unitRef="iso4217-usd">200000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
  <us-gaap:FairValueDisclosuresTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792199">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4&lt;/div&gt; &amp;#x2013; Fair Value Measurements&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;ASC Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;820&lt;/div&gt; &amp;#x201c;Fair Value Measurements and Disclosures&amp;#x201d; (Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;820&lt;/div&gt;) defines fair value as the price that would be received upon sale of an asset or paid upon transfer of a liability in an orderly transaction between market participants at the measurement date and in the principal or most advantageous market for that asset or liability. The fair value, in this context, should be calculated based on assumptions that market participants would use in pricing the asset or liability, &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; on assumptions specific to the entity. In addition, the fair value of liabilities should include consideration of non-performance risk, including our own credit risk.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;820&lt;/div&gt; establishes a fair value hierarchy which prioritizes the inputs used in the valuation methodologies in measuring fair value into &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt; levels:&lt;/div&gt; &lt;table style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: top"&gt;  &lt;td style="width: 0.25in"&gt;&lt;/td&gt;  &lt;td style="width: 0.25in"&gt;&amp;#x2022;&lt;/td&gt;  &lt;td style="text-align: justify"&gt;Level &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1&amp;#x2014;inputs&lt;/div&gt; are based upon unadjusted quoted prices for identical instruments traded in active markets.&lt;/td&gt;  &lt;/tr&gt;   &lt;/table&gt; &lt;table style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: top"&gt;  &lt;td style="width: 0.25in"&gt;&lt;/td&gt;  &lt;td style="width: 0.25in"&gt;&amp;#x2022;&lt;/td&gt;  &lt;td style="text-align: justify"&gt;Level &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2&amp;#x2014;inputs&lt;/div&gt; are based upon quoted prices for similar instruments in active markets, quoted prices for identical or similar instruments in markets that are &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; active, and model-based valuation techniques for which all significant assumptions are observable in the market or can be corroborated by observable market data for substantially the full term of the assets or liabilities.&lt;/td&gt;  &lt;/tr&gt;   &lt;/table&gt; &lt;table style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: top"&gt;  &lt;td style="width: 0.25in"&gt;&lt;/td&gt;  &lt;td style="width: 0.25in"&gt;&amp;#x2022;&lt;/td&gt;  &lt;td style="text-align: justify"&gt;Level &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3&amp;#x2014;inputs&lt;/div&gt; are generally unobservable and typically reflect management's estimates of assumptions that market participants would use in pricing the asset or liability. The fair values are therefore determined using model-based techniques that include option pricing models, discounted cash flow models, and similar techniques.&lt;/td&gt;  &lt;/tr&gt;   &lt;/table&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The carrying amounts of the Company's cash, accounts receivable (net), accounts payable, accrued liabilities and income taxes payable approximate their fair value (a Level &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2&lt;/div&gt; measurement) due to their short maturities.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company enters into equity derivative contracts including floating-rate equity forwards to partially offset the potential fluctuations of certain future share-based compensation expenses. The Company does &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; hold derivatives for speculative purposes. As at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;we had equity derivatives for &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;226,525&lt;/div&gt; Descartes common shares with a weighted average price of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$25.70.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following table shows the Company's derivative instruments measured at fair value on a recurring basis as of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021:&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Fair Value of Derivatives Designated as Hedge Instruments&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Fair Value of Derivatives Not Designated As Hedge Instruments&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Fair Value&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Derivative assets:&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="width: 49%; text-align: left; padding-bottom: 1pt"&gt;Equity contracts&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 14%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 14%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,001&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 14%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,001&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 23 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following table shows the Company's derivative instruments measured at fair value on a recurring basis as of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2020:&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;Fair Value of Derivatives Designated as Hedge Instruments&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;Fair Value of Derivatives Not Designated As Hedge Instruments&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;Fair Value&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Derivative assets:&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="width: 49%; text-align: left; padding-bottom: 1pt"&gt;Equity contracts&lt;/td&gt;  &lt;td style="width: 1%; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 14%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 14%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,656&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 14%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,656&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The fair value of equity contract derivatives is determined utilizing a valuation model based on the quoted market value of &lt;div style="display: inline; color: black"&gt;our common shares at the balance sheet date &lt;/div&gt;(Level &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2&lt;/div&gt; fair value inputs). The fair value of equity contract derivatives is recorded as other current assets and gains and losses are recorded in general and administrative expenses in the consolidated financial statements. For the years ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019,&lt;/div&gt; we recognized an expense (recovery) in general and administrative expenses of (&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$3.4&lt;/div&gt;) million, (&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$4.0&lt;/div&gt;) million and (&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1.2&lt;/div&gt;) million, respectively.&lt;/div&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
  <us-gaap:FairValueOfFinancialInstrumentsPolicy contextRef="d_2020-02-01_2021-01-31" id="c71152863">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Financial instruments&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Fair value of financial instruments&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The carrying amounts of the Company's cash, accounts receivable (net), accounts payable, accrued liabilities and income taxes payable approximate their fair value due to their short maturities.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 7 --&gt; &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Derivative instruments&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We use derivative instruments to manage equity risk relating to our share-based compensation. We account for these instruments in accordance with ASC Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;815&lt;/div&gt; &amp;#x201c;Derivatives and Hedging&amp;#x201d; (Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;815&lt;/div&gt;), which requires that every derivative instrument be recorded on the balance sheet as either an asset or a liability measured at its fair value as of the reporting date. We do &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; designate our derivative instruments as hedges and as such the changes in our derivative financial instruments' fair values are recognized in earnings. The fair value of equity contract derivatives is determined utilizing a valuation model based on the quoted market value of our common shares at the balance sheet date.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Foreign exchange risk&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We are exposed to foreign exchange risk because the Company transacts business in currencies other than the US dollar. Accordingly, our results are affected, and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;be affected in the future, by exchange rate fluctuations of the US dollar relative to the Canadian dollar, euro, British pound sterling and various other foreign currencies.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Interest rate risk&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Depending on the type of advance under the available facilities, interest on such borrowings will be charged based on either i) Canada or US prime rate; or ii) Banker's Acceptance (BA); or iii) LIBOR. We are exposed to interest rate fluctuations to the extent that we borrow on our credit facility.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Credit risk&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We are exposed to credit risk through our invested cash and accounts receivable. We hold our cash with reputable financial institutions. The lack of concentration of accounts receivable from a single customer and the dispersion of customers among industries and geographical locations mitigate our credit risk.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We do &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; use any type of speculative financial instruments, including but &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; limited to foreign exchange contracts, futures, swaps and option agreements, to manage our foreign exchange or interest rate risks. In addition, we do &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; hold or issue financial instruments for trading purposes.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Equity risk&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We are exposed to equity risk through certain share-based compensation expenses that are fair valued at the balance sheet date. The Company enters into equity derivative contracts including floating-rate equity forwards to partially offset the potential fluctuations of certain future share-based compensation expenses. The Company does &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; hold derivatives for speculative purposes.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:FairValueOfFinancialInstrumentsPolicy>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2020-02-01_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember_RangeAxis-MinimumMember" id="c71146129">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2020-02-01_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember_RangeAxis-MaximumMember" id="c71146130">P20Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2020-02-01_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember_RangeAxis-MinimumMember" id="c71146131">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2020-02-01_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember_RangeAxis-MaximumMember" id="c71146132">P12Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2020-02-01_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember_RangeAxis-MinimumMember" id="c71146133">P1Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2020-02-01_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember_RangeAxis-MaximumMember" id="c71146134">P15Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2020-02-01_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember_RangeAxis-MinimumMember" id="c71146135">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2020-02-01_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember_RangeAxis-MaximumMember" id="c71146136">P12Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" id="c71145220">P10Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-KontainersMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" id="c71145221">P12Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" id="c71145222">P13Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" id="c71145223">P6Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-KontainersMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" id="c71145224">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" id="c71145225">P6Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-KontainersMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" id="c71145227">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" id="c71145228">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" id="c71145229">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-KontainersMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" id="c71145230">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" id="c71145231">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" id="c71153056">P14Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" id="c71153057">P13Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" id="c71153058">P9Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" id="c71153059">P12Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" id="c71153060">P7Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" id="c71153061">P6Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" id="c71153063">P6Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" id="c71153064">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" id="c71153065">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" id="c71153066">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" id="c71153067">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" id="c71153068">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" id="c71153069">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" id="c71153070">P3Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" id="c71153071">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" id="c71153218">P13Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" id="c71153219">P12Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" id="c71153220">P9Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" id="c71153221">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember" id="c71153222">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" id="c71153224">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" id="c71153225">P4Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" id="c71153226">P8Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" id="c71153227">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" id="c71153228">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" id="c71153229">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c71145508" unitRef="iso4217-usd">119361000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c71145509" unitRef="iso4217-usd">98241000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember" decimals="-3" id="c71145510" unitRef="iso4217-usd">183539000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember" decimals="-3" id="c71145511" unitRef="iso4217-usd">142757000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c71145512" unitRef="iso4217-usd">5996000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c71145513" unitRef="iso4217-usd">5124000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c71145514" unitRef="iso4217-usd">6535000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c71145515" unitRef="iso4217-usd">4617000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2021-01-31" decimals="-3" id="c71145516" unitRef="iso4217-usd">315431000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="i_2020-01-31" decimals="-3" id="c71145517" unitRef="iso4217-usd">250739000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive contextRef="i_2021-01-31" decimals="-5" id="c71146439" unitRef="iso4217-usd">46700000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths contextRef="i_2021-01-31" decimals="-5" id="c71146429" unitRef="iso4217-usd">53900000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive contextRef="i_2021-01-31" decimals="-5" id="c71146437" unitRef="iso4217-usd">27200000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour contextRef="i_2021-01-31" decimals="-5" id="c71146435" unitRef="iso4217-usd">31500000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="i_2021-01-31" decimals="-5" id="c71146433" unitRef="iso4217-usd">34300000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="i_2021-01-31" decimals="-5" id="c71146431" unitRef="iso4217-usd">46400000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c71145498" unitRef="iso4217-usd">240479000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember" decimals="-3" id="c71145499" unitRef="iso4217-usd">226514000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember" decimals="-3" id="c71145500" unitRef="iso4217-usd">295161000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember" decimals="-3" id="c71145501" unitRef="iso4217-usd">262614000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c71145502" unitRef="iso4217-usd">8844000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember" decimals="-3" id="c71145503" unitRef="iso4217-usd">8582000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c71145504" unitRef="iso4217-usd">10939000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember" decimals="-3" id="c71145505" unitRef="iso4217-usd">9985000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2021-01-31" decimals="-3" id="c71145506" unitRef="iso4217-usd">555423000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="i_2020-01-31" decimals="-3" id="c71145507" unitRef="iso4217-usd">507695000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="i_2021-01-31" decimals="-3" id="c71146428" unitRef="iso4217-usd">239992000</us-gaap:FiniteLivedIntangibleAssetsNet>
  <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="i_2020-01-31" decimals="-3" id="c71145519" unitRef="iso4217-usd">256956000</us-gaap:FiniteLivedIntangibleAssetsNet>
  <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71146102" unitRef="iso4217-usd">800000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
  <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71146103" unitRef="iso4217-usd">600000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
  <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71146104" unitRef="iso4217-usd">-400000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
  <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock contextRef="d_2020-02-01_2021-01-31" id="c71152860">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Foreign currency translation&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The US dollar is the presentation currency of the Company. Assets and liabilities of our subsidiaries are translated into US dollars at the exchange rate in effect at the balance sheet date. Revenues and expenses are translated into US dollars using daily exchange rates. Translation adjustments resulting from this process are accumulated in other comprehensive income (loss) as a separate component of shareholders' equity. On substantial liquidation of a foreign operation, the component of accumulated other comprehensive income relating to that particular foreign operation is recognized in the consolidated statements of operations.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The functional currency of each of our entities is generally the local currency in which they operate. Transactions incurred in currencies other than the local currency of an entity are converted to the local currency at the transaction date. Monetary assets and liabilities denominated in foreign currencies are re-measured into the local currency at the exchange rate in effect at the balance sheet date. All foreign currency re-measurement gains and losses are included in net income. For the year ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;foreign currency re-measurement loss of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.8&lt;/div&gt; million was included in net income (&lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2020 &amp;#x2013; &lt;/div&gt;loss of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.6&lt;/div&gt; million; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2019 &amp;#x2013; &lt;/div&gt;loss of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.4&lt;/div&gt; million).&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
  <us-gaap:GeneralAndAdministrativeExpense contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71144943" unitRef="iso4217-usd">36267000</us-gaap:GeneralAndAdministrativeExpense>
  <us-gaap:GeneralAndAdministrativeExpense contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71144944" unitRef="iso4217-usd">34628000</us-gaap:GeneralAndAdministrativeExpense>
  <us-gaap:GeneralAndAdministrativeExpense contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71144945" unitRef="iso4217-usd">30012000</us-gaap:GeneralAndAdministrativeExpense>
  <us-gaap:Goodwill contextRef="i_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember" decimals="-3" id="c71145209" unitRef="iso4217-usd">15182000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2021-01-31_BusinessAcquisitionAxis-KontainersMember" decimals="-3" id="c71145210" unitRef="iso4217-usd">3461000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember" decimals="-3" id="c71145211" unitRef="iso4217-usd">10327000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" decimals="-3" id="c71145212" unitRef="iso4217-usd">28970000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c71153038" unitRef="iso4217-usd">118785000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c71153039" unitRef="iso4217-usd">12670000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c71153040" unitRef="iso4217-usd">10019000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c71153041" unitRef="iso4217-usd">5513000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c71153042" unitRef="iso4217-usd">146987000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c71153203" unitRef="iso4217-usd">18903000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" decimals="-3" id="c71153204" unitRef="iso4217-usd">8448000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c71153205" unitRef="iso4217-usd">6306000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c71153206" unitRef="iso4217-usd">33657000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2020-01-31" decimals="-3" id="c71145522" unitRef="iso4217-usd">523690000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2019-01-31" decimals="-3" id="c71145523" unitRef="iso4217-usd">378178000</us-gaap:Goodwill>
  <us-gaap:Goodwill contextRef="i_2021-01-31" decimals="-3" id="c71145540" unitRef="iso4217-usd">565177000</us-gaap:Goodwill>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-VisualComplianceMember" id="c71145524" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c71145525" unitRef="iso4217-usd">118785000</us-gaap:GoodwillAcquiredDuringPeriod>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" id="c71145526" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c71145527" unitRef="iso4217-usd">12670000</us-gaap:GoodwillAcquiredDuringPeriod>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-StepcomMember" id="c71145528" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c71145529" unitRef="iso4217-usd">10019000</us-gaap:GoodwillAcquiredDuringPeriod>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-BesttransportMember" id="c71145530" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c71145531" unitRef="iso4217-usd">5513000</us-gaap:GoodwillAcquiredDuringPeriod>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember" decimals="-3" id="c71145532" unitRef="iso4217-usd">15182000</us-gaap:GoodwillAcquiredDuringPeriod>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-PeoplevoxMember" id="c71145533" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-KontainersMember" decimals="-3" id="c71145534" unitRef="iso4217-usd">3461000</us-gaap:GoodwillAcquiredDuringPeriod>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-KontainersMember" id="c71145535" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember" decimals="-3" id="c71145536" unitRef="iso4217-usd">10327000</us-gaap:GoodwillAcquiredDuringPeriod>
  <us-gaap:GoodwillAcquiredDuringPeriod contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-ShipTrackMember" id="c71145537" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock contextRef="d_2020-02-01_2021-01-31" id="c71152867">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Goodwill and intangible assets&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Goodwill represents the excess of the purchase price in a business combination over the fair value of net tangible and intangible assets acquired. Goodwill is &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; subject to amortization.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We test for impairment of goodwill at least annually on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; October 31&lt;/div&gt;&lt;div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;"&gt;st&lt;/div&gt; of each year and at any other time if any event occurs or circumstances change that would more likely than &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; reduce our fair value below our reporting unit's carrying amount. Our operations are analyzed by management and our chief operating decision maker as being part of a single industry segment providing logistics technology solutions. Accordingly, our goodwill impairment assessment is based on the allocation of goodwill to a single reporting unit. We completed the qualitative assessment during our &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;third&lt;/div&gt; quarter of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&lt;/div&gt; and concluded that it was more likely than &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; that the fair value of the goodwill was greater than the carrying value. As a result, &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; impairment of goodwill was recorded in fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&lt;/div&gt; (&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt;&lt;/div&gt; impairments were recorded for fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; or fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt;).&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Intangible assets related to our acquisitions are recorded at their fair value at the acquisition date. Intangible assets include customer agreements and relationships, non-compete covenants, existing technologies and trade names. Intangible assets are amortized on a straight-line basis over their estimated useful lives. We write down intangible asset or asset groups with a finite life to fair value when the related undiscounted cash flows are &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; expected to allow for recovery of the carrying value. Fair value of intangible asset or asset groups is determined by discounting the expected related future cash flows.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Amortization of our intangible assets is generally recorded at the following rates:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0" align="center"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 50%; text-align: left"&gt;Customer agreements and relationships&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 49%; text-align: left"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;twenty&lt;/div&gt; years&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Existing technologies&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;two&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;twelve&lt;/div&gt; years&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Trade names&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;one&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;fifteen&lt;/div&gt; years&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Non-compete covenants&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;two&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;twelve&lt;/div&gt; years&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
  <us-gaap:GoodwillDisclosureTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792212">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10&lt;/div&gt; &amp;#x2013; Goodwill&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Goodwill is recorded when the consideration paid for an acquisition of a business exceeds the fair value of identifiable net tangible and intangible assets acquired. The following table summarizes the changes in goodwill since &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2019:&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="3" style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="3" style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="3" style="font-weight: bold; text-align: right; border-bottom: Black 1pt solid"&gt;2021&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="3" style="text-align: right; border-bottom: Black 1pt solid"&gt;2020&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 74%"&gt;Balance at beginning of period&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;523,690&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;378,178&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Acquisition of Visual Compliance&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;118,785&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Acquisition of CORE&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12,670&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt"&gt;Acquisition of STEPcom&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10,019&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Acquisition of BestTransport&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,513&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt"&gt;Acquisition of Peoplevox&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;15,182&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Acquisition of Kontainers&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,461&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt"&gt;Acquisition of ShipTrack&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10,327&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Adjustments on account of foreign exchange&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12,517&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,475&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt"&gt;Balance at end of period&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;565,177&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;523,690&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt;&lt;/div&gt;</us-gaap:GoodwillDisclosureTextBlock>
  <us-gaap:GoodwillImpairmentLoss contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71146123" unitRef="iso4217-usd">0</us-gaap:GoodwillImpairmentLoss>
  <us-gaap:GoodwillImpairmentLoss contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71146125" unitRef="iso4217-usd">0</us-gaap:GoodwillImpairmentLoss>
  <us-gaap:GoodwillImpairmentLoss contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71152831" unitRef="iso4217-usd">0</us-gaap:GoodwillImpairmentLoss>
  <us-gaap:GoodwillTranslationAndPurchaseAccountingAdjustments contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145538" unitRef="iso4217-usd">12517000</us-gaap:GoodwillTranslationAndPurchaseAccountingAdjustments>
  <us-gaap:GoodwillTranslationAndPurchaseAccountingAdjustments contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145539" unitRef="iso4217-usd">-1475000</us-gaap:GoodwillTranslationAndPurchaseAccountingAdjustments>
  <us-gaap:GrossProfit contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71144934" unitRef="iso4217-usd">258754000</us-gaap:GrossProfit>
  <us-gaap:GrossProfit contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71144935" unitRef="iso4217-usd">240070000</us-gaap:GrossProfit>
  <us-gaap:GrossProfit contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71144936" unitRef="iso4217-usd">200177000</us-gaap:GrossProfit>
  <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock contextRef="d_2020-02-01_2021-01-31" id="c71152866">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Impairment of long-lived assets&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We test long-lived assets or asset groups, such as property and equipment and finite life intangible assets, for recoverability when events or changes in circumstances indicate that there &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;be impairment. Circumstances which could trigger a review include, but are &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; limited to: significant adverse changes in the business climate or legal factors; current period cash flow or operating losses combined with a history of losses or a forecast of continuing losses associated with the use of the asset or asset group; and a current expectation that the asset or asset group will more likely than &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; be sold or disposed of before the end of its estimated useful life. An impairment loss is recognized when the estimate of undiscounted future cash flows generated by such asset or asset group is less than the carrying amount. Measurement of the impairment loss is based on the present value of the expected future cash flows. &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;No&lt;/div&gt; impairment of long-lived assets has been identified or recorded in our consolidated statements of operations for any of the fiscal years presented.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsIncludingIntangibleAssetsPolicyPolicyTextBlock>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145883" unitRef="iso4217-usd">70369000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145884" unitRef="iso4217-usd">48033000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145885" unitRef="iso4217-usd">39510000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2020-02-01_2021-01-31_IncomeTaxAuthorityAxis-CA" decimals="-3" id="c71145814" unitRef="iso4217-usd">31307000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2019-02-01_2020-01-31_IncomeTaxAuthorityAxis-CA" decimals="-3" id="c71145815" unitRef="iso4217-usd">19557000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-CA" decimals="-3" id="c71145816" unitRef="iso4217-usd">16715000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2020-02-01_2021-01-31_IncomeTaxAuthorityAxis-US" decimals="-3" id="c71145817" unitRef="iso4217-usd">26072000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2019-02-01_2020-01-31_IncomeTaxAuthorityAxis-US" decimals="-3" id="c71145818" unitRef="iso4217-usd">19962000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-US" decimals="-3" id="c71145819" unitRef="iso4217-usd">11077000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2020-02-01_2021-01-31_IncomeTaxAuthorityAxis-OtherCountriesMember" decimals="-3" id="c71145820" unitRef="iso4217-usd">12990000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2019-02-01_2020-01-31_IncomeTaxAuthorityAxis-OtherCountriesMember" decimals="-3" id="c71145821" unitRef="iso4217-usd">8516000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-OtherCountriesMember" decimals="-3" id="c71145822" unitRef="iso4217-usd">11718000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <us-gaap:IncomeTaxDisclosureTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792236">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18&lt;/div&gt; - Income Taxes&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Income before income taxes is earned in the following tax jurisdictions:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="3" style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="3" style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td colspan="3" style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 61%"&gt;Canada&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;31,307&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;19,557&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16,715&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;United States&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26,072&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;19,962&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,077&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Other countries&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12,990&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,516&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,718&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;70,369&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;48,035&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;39,510&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 35 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Income tax expense is incurred in the following jurisdictions:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Current income tax expense&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; width: 61%"&gt;Canada&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,875&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,020&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,037&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;United States&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(3,050&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,496&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,298&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Other countries&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,921&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;779&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,707&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,746&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,295&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,042&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Deferred income tax expense (recovery)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Canada&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7,047&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,008&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,531&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;United States&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;9,537&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,390&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;67&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Other countries&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,061&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(655&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(407&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;14,523&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,743&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,191&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18,269&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,038&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,233&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Income tax expense for &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt; was &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26%,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;23%&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21%&lt;/div&gt; of income before income taxes, respectively, with current income tax expense being &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5%,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11%&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;15%&lt;/div&gt; of income before income taxes, respectively.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Current income tax expense decreased in &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&lt;/div&gt; compared to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; primarily due to a voluntary change we elected to adopt in accounting for deferred revenue for income tax purposes in the United States. This change resulted in a decrease of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$9.3&lt;/div&gt;&lt;/div&gt; million in current income tax expense in &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&lt;/div&gt; and a corresponding increase in the deferred income tax expense for the same period. This decrease was partially offset by an increase in income before tax in other jurisdictions as a result of growth in the business.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Current income tax expense decreased in &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; compared to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt; primarily due to utilization of tax attributes acquired in &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Deferred income tax expense increased in &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&lt;/div&gt; compared to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; primarily due to a voluntary change we elected to adopt in accounting for deferred revenue for income tax purposes in the United States.&amp;nbsp;This increase was partially offset by a release in valuation allowance for other jurisdictions.&amp;nbsp;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Deferred income tax expense increased in &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; compared to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt; primarily due to utilization of tax attributes acquired in &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 36 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The components of the deferred income tax assets and liabilities are as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td&gt;Assets&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; width: 74%; text-align: left"&gt;Accrued liabilities not currently deductible&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,471&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;14,838&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Accumulated net operating losses&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12,866&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10,579&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Corporate minimum taxes&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,596&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Difference between tax and accounting basis of property and equipment&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;23,754&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;33,929&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Research and development and other tax credits and expenses&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,649&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;756&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Total deferred income tax assets&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;44,336&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;60,102&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td&gt;Liabilities&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Difference between tax and accounting basis of intangible assets&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(45,030&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(41,381&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Difference between tax and accounting basis of property and equipment&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Other temporary differences&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,109&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,716&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total deferred income tax liabilities&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(47,139&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(43,097&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Net deferred income taxes&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,803&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;17,005&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Valuation allowance&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(11,365&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(10,470&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Net deferred income taxes, net of valuation allowance&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(14,168&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,535&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;we have &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; accrued for foreign withholding taxes and Canadian income taxes applicable to approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$432.7&lt;/div&gt; million of unremitted earnings of subsidiaries operating outside of Canada. These earnings, which we consider to be invested indefinitely, will become subject to these taxes if and when they are remitted as dividends or if we sell our stock in the subsidiaries. If we decide to repatriate the foreign earnings, we would need to adjust our income tax provision in the period we determined that the earnings will &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; longer be indefinitely invested outside Canada.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The provision (recovery) for income taxes varies from the expected provision at the statutory rates for the reasons detailed in the table below:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 61%; text-align: left"&gt;Income before income taxes&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;70,369&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;48,033&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;39,510&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Combined basic Canadian statutory rates&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26.5&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;%&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26.5&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;%&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26.5&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;%&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Income tax expense based on the above rates&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18,648&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12,729&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10,470&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Increase (decrease) in income taxes resulting from:&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Permanent differences including amortization of intangible assets&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;875&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(673&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(133&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Effect of differences between Canadian and foreign tax rates&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(600&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(274&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(172&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Effect of rate changes on current year timing differences&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,063&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(609&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(245&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Adjustments relating to previous periods&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,034&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;94&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(973&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Increase (decrease) in accruals for uncertain tax positions&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,289&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,042&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(515&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Valuation allowance&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;254&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;692&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(344&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Stock based compensation&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;100&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;352&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;231&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Other, including foreign exchange&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(200&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(231&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(86&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Income tax expense&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18,269&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,038&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,233&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 37 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;We have income tax loss carry forwards which expire as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="text-align: left; font-style: italic"&gt;Expiry year&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Canada&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;United States&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;EMEA&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Asia Pacific&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Total&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 16%; text-align: left; padding-left: 0pt"&gt;2022&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 14%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 14%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 14%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 14%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;285&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 13%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;285&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-left: 0pt"&gt;2023&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;341&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;50&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;394&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-left: 0pt"&gt;2024&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;138&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;67&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;221&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-left: 0pt"&gt;2025&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;51&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;51&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-left: 0pt"&gt;2026&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-left: 0pt"&gt;Thereafter&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,969&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,807&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;47,832&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,434&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;60,042&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 9pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,969&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,877&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;48,311&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,836&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;60,993&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The following is a tabular reconciliation of the total estimated liability associated with uncertain tax positions taken:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 74%; text-align: left"&gt;Liability, beginning of year&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,650&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7,824&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Gross increases &amp;#x2013; current period&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,502&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;139&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Lapsing due to statutes of limitations&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(759&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,313&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Liability, end of year&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,393&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,650&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We have identified accruals of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$8.4&lt;/div&gt; million with respect to uncertain tax positions as at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021. &lt;/div&gt;It is possible that these accruals for uncertain tax positions will &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; be required in which case up to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$8.2&lt;/div&gt; million of the recorded liability will decrease the effective tax rate in future years if this liability is reversed. We believe that it is reasonably possible that &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1.5&lt;/div&gt; million of the uncertain tax positions could decrease tax expense in the next &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12&lt;/div&gt; months relating primarily to tax years becoming statute barred for purposes of future tax examinations by local taxing jurisdictions.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We recognize accrued interest and penalties related to uncertain tax positions as a current tax expense. As at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2020, &lt;/div&gt;the unrecognized tax positions have resulted in &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; material liability for estimated interest and penalties.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Descartes and our subsidiaries file their tax returns as prescribed by the tax laws of the jurisdictions within which they operate. We are &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; longer subject to income tax examinations by tax authorities in our major tax jurisdictions as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;Years No Longer Subject to Audit&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Tax Jurisdiction&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="width: 51%; text-align: left"&gt;United States Federal&lt;/td&gt;  &lt;td style="width: 49%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2017 and prior&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td&gt;Canada&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2018 and prior&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;United Kingdom&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2017 and prior&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td&gt;Sweden&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2014 and prior&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td&gt;Norway&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019 and prior&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td&gt;Netherlands&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2014 and prior&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td&gt;Belgium&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2016 and prior&lt;/div&gt;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
  <us-gaap:IncomeTaxExpenseBenefit contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145916" unitRef="iso4217-usd">18269000</us-gaap:IncomeTaxExpenseBenefit>
  <us-gaap:IncomeTaxExpenseBenefit contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145917" unitRef="iso4217-usd">11038000</us-gaap:IncomeTaxExpenseBenefit>
  <us-gaap:IncomeTaxExpenseBenefit contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145918" unitRef="iso4217-usd">8233000</us-gaap:IncomeTaxExpenseBenefit>
  <us-gaap:IncomeTaxPolicyTextBlock contextRef="d_2020-02-01_2021-01-31" id="c71152874">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Income taxes&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We use the liability method of income tax allocation to account for income taxes. Deferred tax assets and liabilities arise from temporary differences between the tax bases of assets and liabilities and their reported amounts in the consolidated financial statements that will result in taxable or deductible amounts in future years. These temporary differences are measured using enacted tax rates. A valuation allowance is recorded to reduce deferred tax assets to the extent that we consider it is more likely than &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; that a deferred tax asset will &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; be realized. In determining the valuation allowance, we consider factors such as the reversal of deferred income tax liabilities, projected taxable income, our history of losses for tax purposes, and the character of income tax assets and tax planning strategies. A change to these factors could impact the estimated valuation allowance and income tax expense.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We evaluate our uncertain tax positions by using a &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;two&lt;/div&gt;-step approach to recognize and measure uncertain tax positions and provisions for income taxes.&amp;nbsp;The &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;first&lt;/div&gt; step is to evaluate the tax position for recognition by determining if the weight of available evidence indicates it is more likely than &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not,&lt;/div&gt; based solely on the technical merits, that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any. The &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;second&lt;/div&gt; step is to measure the appropriate amount of the benefit to recognize. The amount of benefit to recognize is measured as the maximum amount which is more likely than &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; to be realized. The tax position is derecognized when it is &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; longer more likely than &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; that the position will be sustained on audit. We continually assess the likelihood and amount of potential adjustments and adjust the income tax provisions, income taxes payable and deferred income taxes in the period in which the facts that give rise to a revision become known.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:IncomeTaxPolicyTextBlock>
  <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145907" unitRef="iso4217-usd">254000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
  <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145908" unitRef="iso4217-usd">692000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
  <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145909" unitRef="iso4217-usd">-344000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
  <us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145898" unitRef="iso4217-usd">-1063000</us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate>
  <us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145899" unitRef="iso4217-usd">-609000</us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate>
  <us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145900" unitRef="iso4217-usd">-245000</us-gaap:IncomeTaxReconciliationChangeInEnactedTaxRate>
  <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145895" unitRef="iso4217-usd">-600000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
  <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145896" unitRef="iso4217-usd">-274000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
  <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145897" unitRef="iso4217-usd">-172000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
  <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145889" unitRef="iso4217-usd">18648000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
  <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145890" unitRef="iso4217-usd">12729000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
  <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145891" unitRef="iso4217-usd">10470000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
  <us-gaap:IncomeTaxReconciliationNondeductibleExpenseAmortization contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145892" unitRef="iso4217-usd">875000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseAmortization>
  <us-gaap:IncomeTaxReconciliationNondeductibleExpenseAmortization contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145893" unitRef="iso4217-usd">-673000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseAmortization>
  <us-gaap:IncomeTaxReconciliationNondeductibleExpenseAmortization contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145894" unitRef="iso4217-usd">-133000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseAmortization>
  <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145910" unitRef="iso4217-usd">100000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
  <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145911" unitRef="iso4217-usd">352000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
  <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145912" unitRef="iso4217-usd">231000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
  <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145913" unitRef="iso4217-usd">-200000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
  <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145914" unitRef="iso4217-usd">-231000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
  <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145915" unitRef="iso4217-usd">-86000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
  <us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145901" unitRef="iso4217-usd">-1034000</us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes>
  <us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145902" unitRef="iso4217-usd">94000</us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes>
  <us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145903" unitRef="iso4217-usd">-973000</us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes>
  <us-gaap:IncomeTaxesPaidNet contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145133" unitRef="iso4217-usd">8214000</us-gaap:IncomeTaxesPaidNet>
  <us-gaap:IncomeTaxesPaidNet contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145134" unitRef="iso4217-usd">8946000</us-gaap:IncomeTaxesPaidNet>
  <us-gaap:IncomeTaxesPaidNet contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145135" unitRef="iso4217-usd">7862000</us-gaap:IncomeTaxesPaidNet>
  <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71146032" unitRef="iso4217-usd">-686000</us-gaap:IncreaseDecreaseInAccountsPayable>
  <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71146033" unitRef="iso4217-usd">1768000</us-gaap:IncreaseDecreaseInAccountsPayable>
  <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71146034" unitRef="iso4217-usd">-1065000</us-gaap:IncreaseDecreaseInAccountsPayable>
  <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71146020" unitRef="iso4217-usd">-143000</us-gaap:IncreaseDecreaseInAccountsReceivable>
  <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71146021" unitRef="iso4217-usd">-3733000</us-gaap:IncreaseDecreaseInAccountsReceivable>
  <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71146022" unitRef="iso4217-usd">135000</us-gaap:IncreaseDecreaseInAccountsReceivable>
  <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71146035" unitRef="iso4217-usd">-999000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
  <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71146036" unitRef="iso4217-usd">3265000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
  <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71146037" unitRef="iso4217-usd">2570000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
  <us-gaap:IncreaseDecreaseInDeferredRevenue contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71146044" unitRef="iso4217-usd">5877000</us-gaap:IncreaseDecreaseInDeferredRevenue>
  <us-gaap:IncreaseDecreaseInDeferredRevenue contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71146045" unitRef="iso4217-usd">-4184000</us-gaap:IncreaseDecreaseInDeferredRevenue>
  <us-gaap:IncreaseDecreaseInDeferredRevenue contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71146046" unitRef="iso4217-usd">2047000</us-gaap:IncreaseDecreaseInDeferredRevenue>
  <us-gaap:IncreaseDecreaseInIncomeTaxes contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71146038" unitRef="iso4217-usd">3835000</us-gaap:IncreaseDecreaseInIncomeTaxes>
  <us-gaap:IncreaseDecreaseInIncomeTaxes contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71146039" unitRef="iso4217-usd">-1550000</us-gaap:IncreaseDecreaseInIncomeTaxes>
  <us-gaap:IncreaseDecreaseInIncomeTaxes contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71146040" unitRef="iso4217-usd">-2423000</us-gaap:IncreaseDecreaseInIncomeTaxes>
  <us-gaap:IncreaseDecreaseInInventories contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71146029" unitRef="iso4217-usd">-99000</us-gaap:IncreaseDecreaseInInventories>
  <us-gaap:IncreaseDecreaseInInventories contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71146030" unitRef="iso4217-usd">345000</us-gaap:IncreaseDecreaseInInventories>
  <us-gaap:IncreaseDecreaseInInventories contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71146031" unitRef="iso4217-usd">-74000</us-gaap:IncreaseDecreaseInInventories>
  <us-gaap:IncreaseDecreaseInOperatingCapital contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145085" unitRef="iso4217-usd">3575000</us-gaap:IncreaseDecreaseInOperatingCapital>
  <us-gaap:IncreaseDecreaseInOperatingCapital contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145086" unitRef="iso4217-usd">5256000</us-gaap:IncreaseDecreaseInOperatingCapital>
  <us-gaap:IncreaseDecreaseInOperatingCapital contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145087" unitRef="iso4217-usd">3849000</us-gaap:IncreaseDecreaseInOperatingCapital>
  <us-gaap:IncreaseDecreaseInOtherReceivables contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71146023" unitRef="iso4217-usd">7098000</us-gaap:IncreaseDecreaseInOtherReceivables>
  <us-gaap:IncreaseDecreaseInOtherReceivables contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71146024" unitRef="iso4217-usd">2547000</us-gaap:IncreaseDecreaseInOtherReceivables>
  <us-gaap:IncreaseDecreaseInOtherReceivables contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71146025" unitRef="iso4217-usd">451000</us-gaap:IncreaseDecreaseInOtherReceivables>
  <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71146026" unitRef="iso4217-usd">5029000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
  <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71146027" unitRef="iso4217-usd">5942000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
  <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71146028" unitRef="iso4217-usd">4466000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="-3" id="c71145597" unitRef="xbrli-shares">358000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="-3" id="c71145598" unitRef="xbrli-shares">318000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="d_2018-02-01_2019-01-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="-3" id="c71145599" unitRef="xbrli-shares">205000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-3" id="c71145600" unitRef="xbrli-shares">1038000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-3" id="c71145601" unitRef="xbrli-shares">890000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="d_2018-02-01_2019-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-3" id="c71145602" unitRef="xbrli-shares">754000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <us-gaap:IntangibleAssetsDisclosureTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792210">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;9&lt;/div&gt; - Intangible Assets&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td&gt;Cost&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; width: 74%"&gt;Customer agreements and relationships&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;240,479&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;226,514&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Existing technology&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;295,161&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;262,614&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt"&gt;Trade names&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,844&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,582&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Non-compete covenants&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10,939&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;9,985&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;555,423&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;507,695&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;Accumulated amortization&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt"&gt;Customer agreements and relationships&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;119,361&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;98,241&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Existing technology&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;183,539&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;142,757&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt"&gt;Trade names&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,996&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,124&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Non-compete covenants&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,535&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,617&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;315,431&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;250,739&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-bottom: 1pt"&gt;Net&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;239,992&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;256,956&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Intangible assets related to our acquisitions are recorded at their fair value at the acquisition date. The change in intangible assets during the year ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021 &lt;/div&gt;is primarily due to the acquisitions of Peoplevox, Kontainers and ShipTrack, partially offset by amortization. The balance of the change in intangible assets is due to foreign currency translation.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 25 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Intangible assets with a finite life are amortized into income over their useful lives. Amortization expense for existing intangible assets is expected to be &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$240.0&lt;/div&gt; million over the following periods: &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$53.9&lt;/div&gt; million for &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2022,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$46.4&lt;/div&gt; million for &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2023,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$34.3&lt;/div&gt; million for &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2024,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$31.5&lt;/div&gt; million for &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2025,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$27.2&lt;/div&gt; million for &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2026&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$46.7&lt;/div&gt; million thereafter. Expected future amortization expense is subject to fluctuations in foreign exchange rates and assumes &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; future adjustments to acquired intangible assets.&lt;/div&gt;&lt;/div&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
  <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="i_2021-01-31" decimals="-3" id="c71144879" unitRef="iso4217-usd">239992000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
  <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="i_2020-01-31" decimals="-3" id="c71144880" unitRef="iso4217-usd">256956000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
  <us-gaap:InterestExpense contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71144958" unitRef="iso4217-usd">1186000</us-gaap:InterestExpense>
  <us-gaap:InterestExpense contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71144959" unitRef="iso4217-usd">4416000</us-gaap:InterestExpense>
  <us-gaap:InterestExpense contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71144960" unitRef="iso4217-usd">2128000</us-gaap:InterestExpense>
  <us-gaap:InterestPaidNet contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145130" unitRef="iso4217-usd">89000</us-gaap:InterestPaidNet>
  <us-gaap:InterestPaidNet contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145131" unitRef="iso4217-usd">3516000</us-gaap:InterestPaidNet>
  <us-gaap:InterestPaidNet contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145132" unitRef="iso4217-usd">1712000</us-gaap:InterestPaidNet>
  <us-gaap:InventoryDisclosureTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792207">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7&lt;/div&gt; &amp;#x2013; Inventory&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;At &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2020, &lt;/div&gt;inventory is entirely comprised of finished goods inventory. Finished goods inventory primarily consists of hardware and related parts for mobile asset units held for sale. For the years ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019,&lt;/div&gt; a provision for excess or obsolete inventories has been recorded in cost of revenues of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;nil,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;nil&lt;/div&gt; and nominal, respectively.&lt;/div&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
  <us-gaap:InventoryNet contextRef="i_2021-01-31" decimals="-3" id="c71144867" unitRef="iso4217-usd">429000</us-gaap:InventoryNet>
  <us-gaap:InventoryNet contextRef="i_2020-01-31" decimals="-3" id="c71144868" unitRef="iso4217-usd">411000</us-gaap:InventoryNet>
  <us-gaap:InventoryPolicyTextBlock contextRef="d_2020-02-01_2021-01-31" id="c71152865">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Inventory&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Finished goods inventories are stated at the lower of cost and net realizable value. The cost of finished goods is determined on the basis of average cost of units.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The valuation of inventory, including the determination of obsolete or excess inventory, requires management to estimate the future demand for our products within specified time horizons. We perform an assessment of inventory which includes a review of, among other factors, demand requirements, product life cycle and development plans, product pricing and quality issues. If the demand for our products indicates we are &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; longer able to sell inventories above cost or at all, we write down inventory to market or excess inventory is written off.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:InventoryPolicyTextBlock>
  <us-gaap:InventoryValuationReserves contextRef="i_2021-01-31" decimals="-3" id="c71146424" unitRef="iso4217-usd">0</us-gaap:InventoryValuationReserves>
  <us-gaap:InventoryValuationReserves contextRef="i_2020-01-31" decimals="-3" id="c71146425" unitRef="iso4217-usd">0</us-gaap:InventoryValuationReserves>
  <us-gaap:InvestmentIncomeNet contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71144961" unitRef="iso4217-usd">159000</us-gaap:InvestmentIncomeNet>
  <us-gaap:InvestmentIncomeNet contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71144962" unitRef="iso4217-usd">193000</us-gaap:InvestmentIncomeNet>
  <us-gaap:InvestmentIncomeNet contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71144963" unitRef="iso4217-usd">195000</us-gaap:InvestmentIncomeNet>
  <us-gaap:LeaseCost contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145554" unitRef="iso4217-usd">5092000</us-gaap:LeaseCost>
  <us-gaap:LeaseCost contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145555" unitRef="iso4217-usd">5768000</us-gaap:LeaseCost>
  <us-gaap:LeaseCostTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-13">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 12pt 0pt 0"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 12pt 0pt 0"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Year Ended&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31, 2021&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;January 31, 2020&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 70%; text-align: left"&gt;Operating lease cost&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,590&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,902&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Short-term lease cost&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;502&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;866&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total operating lease cost&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,092&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,768&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31, 2021&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;January 31, 2020&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 70%; text-align: left"&gt;Operating cash outflows from operating leases included in measurement of lease liabilities&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,831&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,150&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;New ROU assets obtained in exchange for lease obligations&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,337&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,439&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31, 2021&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;January 31, 2020&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 70%; text-align: left"&gt;Weighted average remaining lease term (years)&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3.8&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.3&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;Weighted average discount rate (%)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2.5&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2.8&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
  <us-gaap:LesseeLeasesPolicyTextBlock contextRef="d_2020-02-01_2021-01-31" id="c71152869">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Leases&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;At the inception of a contract we assess whether a contract is, or contains, a lease based on whether the contract conveys the right to control the use of an identified asset for a period of time in exchange for consideration. We have building lease agreements with lease and non-lease components, which are accounted for separately. For computer equipment and vehicle leases, we have elected to account for the lease and non-lease components as a single lease component.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We recognize a right-of-use (&amp;#x201c;ROU&amp;#x201d;) asset and a lease liability at the lease commencement date. The ROU asset is initially measured based on the initial amount of the lease liability adjusted for any lease payments made at or before the commencement date, plus any initial direct costs incurred and less any lease incentives received. The assets are depreciated to the earlier of the end of the useful life of the ROU asset or the lease term using the straight-line method as this most closely reflects the expected pattern of consumption of the future economic benefits. The lease term includes periods covered by an option to extend if the Company is reasonably certain to exercise that option.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The lease liability is initially measured at the present value of the future lease payments at the commencement date, discounted using the interest rate implicit in the lease or, if that rate cannot be readily determined, the Company's incremental borrowing rate. As most of our leases do &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The lease liability is measured at amortized cost using the effective interest method. It is remeasured when there is a change in future lease payments arising from a change in an index or rate, if there is a change in the Company's estimate of the amount expected to be payable under a residual value guarantee, or if the Company changes its assessment of whether it will exercise a purchase, extension or termination option. When the lease liability is remeasured, a corresponding adjustment is made to the carrying amount of the ROU asset, or is recorded in profit or loss if the carrying amount of the ROU asset has been reduced to zero.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We have elected to apply the practical expedient &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; to recognize ROU assets and lease liabilities for short-term leases that have a lease term of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12&lt;/div&gt; months or less. The lease payments associated with these leases is recognized as an expense on a straight-line basis over the lease term.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
  <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-14">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="text-align: left"&gt;Years Ended January 31,&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Operating Leases&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; width: 85%; text-align: left"&gt;2022&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,544&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;2023&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,480&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;2024&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,689&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;2025&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,725&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;2026&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;954&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2027 and thereafter&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;420&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total lease payments&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13,812&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Less: imputed interest&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(749&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total lease obligations&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13,063&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Current&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,168&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Long-term&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,895&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue contextRef="i_2021-01-31" decimals="-3" id="c71145570" unitRef="iso4217-usd">13812000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive contextRef="i_2021-01-31" decimals="-3" id="c71145569" unitRef="iso4217-usd">420000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths contextRef="i_2021-01-31" decimals="-3" id="c71145564" unitRef="iso4217-usd">4544000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive contextRef="i_2021-01-31" decimals="-3" id="c71145568" unitRef="iso4217-usd">954000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour contextRef="i_2021-01-31" decimals="-3" id="c71145567" unitRef="iso4217-usd">1725000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree contextRef="i_2021-01-31" decimals="-3" id="c71145566" unitRef="iso4217-usd">2689000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo contextRef="i_2021-01-31" decimals="-3" id="c71145565" unitRef="iso4217-usd">3480000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
  <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount contextRef="i_2021-01-31" decimals="-3" id="c71145571" unitRef="iso4217-usd">749000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
  <us-gaap:LesseeOperatingLeaseRemainingLeaseTerm contextRef="i_2021-01-31_RangeAxis-MaximumMember" id="c71146461">P8Y</us-gaap:LesseeOperatingLeaseRemainingLeaseTerm>
  <us-gaap:LesseeOperatingLeaseRenewalTerm contextRef="i_2021-01-31_RangeAxis-MaximumMember" id="c71146462">P5Y</us-gaap:LesseeOperatingLeaseRenewalTerm>
  <us-gaap:LesseeOperatingLeasesTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792217">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13&lt;/div&gt; &amp;#x2013; Leases&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We have operating leases for buildings, vehicles and computer equipment. Our leases have remaining terms of up to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8&lt;/div&gt; years, some of which include options to extend the leases for up to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt; years.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The components of operating lease expense were as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 12pt 0pt 0"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 12pt 0pt 0"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Year Ended&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;January 31, 2021&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;January 31, 2020&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 70%; text-align: left"&gt;Operating lease cost&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,590&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,902&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Short-term lease cost&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;502&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;866&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total operating lease cost&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,092&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,768&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Supplemental cash flow information related to operating leases was as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31, 2021&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;January 31, 2020&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 70%; text-align: left"&gt;Operating cash outflows from operating leases included in measurement of lease liabilities&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,831&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,150&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;New ROU assets obtained in exchange for lease obligations&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,337&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,439&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Supplemental information related to operating leases was as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31, 2021&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;January 31, 2020&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 70%; text-align: left"&gt;Weighted average remaining lease term (years)&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3.8&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.3&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td&gt;Weighted average discount rate (%)&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2.5&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2.8&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Maturities of operating lease liabilities were as follows as of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021:&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="text-align: left"&gt;Years Ended January 31,&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Operating Leases&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; width: 85%; text-align: left"&gt;2022&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 12%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,544&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;2023&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,480&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;2024&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,689&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;2025&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,725&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;2026&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;954&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;2027 and thereafter&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;420&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total lease payments&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13,812&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Less: imputed interest&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(749&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Total lease obligations&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13,063&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Current&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,168&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;Long-term&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,895&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
  <us-gaap:LettersOfCreditOutstandingAmount contextRef="i_2021-01-31" decimals="-3" id="c71146457" unitRef="iso4217-usd">200000</us-gaap:LettersOfCreditOutstandingAmount>
  <us-gaap:LettersOfCreditOutstandingAmount contextRef="i_2020-01-31" decimals="-3" id="c71146458" unitRef="iso4217-usd">200000</us-gaap:LettersOfCreditOutstandingAmount>
  <us-gaap:Liabilities contextRef="i_2021-01-31" decimals="-3" id="c71144907" unitRef="iso4217-usd">152186000</us-gaap:Liabilities>
  <us-gaap:Liabilities contextRef="i_2020-01-31" decimals="-3" id="c71144908" unitRef="iso4217-usd">120877000</us-gaap:Liabilities>
  <us-gaap:LiabilitiesAndStockholdersEquity contextRef="i_2021-01-31" decimals="-3" id="c71144919" unitRef="iso4217-usd">1063254000</us-gaap:LiabilitiesAndStockholdersEquity>
  <us-gaap:LiabilitiesAndStockholdersEquity contextRef="i_2020-01-31" decimals="-3" id="c71144920" unitRef="iso4217-usd">942586000</us-gaap:LiabilitiesAndStockholdersEquity>
  <us-gaap:LiabilitiesCurrent contextRef="i_2021-01-31" decimals="-3" id="c71144895" unitRef="iso4217-usd">104263000</us-gaap:LiabilitiesCurrent>
  <us-gaap:LiabilitiesCurrent contextRef="i_2020-01-31" decimals="-3" id="c71144896" unitRef="iso4217-usd">88943000</us-gaap:LiabilitiesCurrent>
  <us-gaap:LiabilityForUncertainTaxPositionsNoncurrent contextRef="i_2021-01-31" decimals="-5" id="c71146617" unitRef="iso4217-usd">8400000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
  <us-gaap:LineOfCredit contextRef="i_2021-01-31_CreditFacilityAxis-RevolvingOperatingCreditFacilityMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember" decimals="-3" id="c71146455" unitRef="iso4217-usd">0</us-gaap:LineOfCredit>
  <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="i_2019-01-25_CreditFacilityAxis-RevolvingOperatingCreditFacilityMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember" decimals="-3" id="c71146445" unitRef="iso4217-usd">350000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
  <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="i_2019-01-25_CreditFacilityAxis-RevolvingOperatingCreditFacilityMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MaximumMember" decimals="-3" id="c71146446" unitRef="iso4217-usd">500000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
  <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="i_2021-01-31_CreditFacilityAxis-RevolvingOperatingCreditFacilityMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember" decimals="-3" id="c71146456" unitRef="iso4217-usd">350000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
  <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage contextRef="d_2019-01-25_2019-01-25_CreditFacilityAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MinimumMember" decimals="3" id="c71146453" unitRef="xbrli-pure">0.002</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
  <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage contextRef="d_2019-01-25_2019-01-25_CreditFacilityAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MaximumMember" decimals="3" id="c71146454" unitRef="xbrli-pure">0.004</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
  <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792202">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt; &amp;#x2013; Trade Accounts Receivable&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 74%; text-align: left"&gt;Trade accounts receivable&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;39,536&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;37,121&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: Provision for credit losses&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,330&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,003&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;37,206&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;35,118&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Included in accounts receivable are unbilled receivables in the amount of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.3&lt;/div&gt; million as at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021 (&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1.4&lt;/div&gt; million as at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2020). &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;No&lt;/div&gt; single customer accounted for more than &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10%&lt;/div&gt; of the accounts receivable balance as of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021 &lt;/div&gt;and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The following table presents the changes in the provision for credit losses as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Provision for Credit Losses&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 85%; text-indent: -0.5in; padding-left: 0.5in"&gt;Balance at January 31, 2020&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,003&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Current period provision for expected losses&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,681&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Write-offs charged against the provision&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,418&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Effect of movements in foreign exchange&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;64&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Balance at January 31, 2021&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,330&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt;&lt;/div&gt;</us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
  <us-gaap:LongTermDebtNoncurrent contextRef="i_2021-01-31" id="c71144897" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:LongTermDebtNoncurrent contextRef="i_2020-01-31" id="c71144898" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145115" unitRef="iso4217-usd">5557000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
  <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145116" unitRef="iso4217-usd">210169000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
  <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145117" unitRef="iso4217-usd">-11377000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
  <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145097" unitRef="iso4217-usd">-52162000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
  <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145098" unitRef="iso4217-usd">-296953000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
  <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145099" unitRef="iso4217-usd">-73176000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
  <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145088" unitRef="iso4217-usd">131230000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
  <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145089" unitRef="iso4217-usd">104252000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
  <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145090" unitRef="iso4217-usd">78074000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
  <us-gaap:NetIncomeLoss contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145064" unitRef="iso4217-usd">52100000</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145065" unitRef="iso4217-usd">36997000</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145066" unitRef="iso4217-usd">31277000</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss contextRef="d_2020-02-01_2021-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c71152811" unitRef="iso4217-usd">52100000</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss contextRef="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c71152812" unitRef="iso4217-usd">36997000</us-gaap:NetIncomeLoss>
  <us-gaap:NetIncomeLoss contextRef="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c71152813" unitRef="iso4217-usd">31277000</us-gaap:NetIncomeLoss>
  <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="d_2020-02-01_2021-01-31" id="c71152876">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Recently adopted accounting pronouncements&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; May 2014, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2014&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;09,&lt;/div&gt; &amp;#x201c;Revenue from Contracts with Customers&amp;#x201d; (&amp;#x201c;ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;606&amp;#x201d;&lt;/div&gt;). ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;606&lt;/div&gt; supersedes the revenue recognition requirements in ASC Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;605,&lt;/div&gt; &amp;#x201c;Revenue Recognition&amp;#x201d; ("ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;605"&lt;/div&gt;) and nearly all other existing revenue recognition guidance under US GAAP. The core principle of ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;606&lt;/div&gt; is to recognize revenues when promised goods or services are transferred to customers in an amount that reflects the consideration that is expected to be received for those goods or services. ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;606&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; December 15, 2017, &lt;/div&gt;which is our fiscal year that began on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2018 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt;). The Company has adopted ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;606&lt;/div&gt; in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt; using the cumulative effect method and therefore the comparative information has &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; been restated and continues to be reported under ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;605.&lt;/div&gt; The details of the significant changes and quantitative impact of the changes are set out below.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Term-based licenses&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;Under ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;605,&lt;/div&gt; revenue attributable to term-based arrangements was recognized ratably over the term of the arrangement because Vendor Specific Objective Evidence did &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; exist for the undelivered maintenance and support element of the arrangement. Under ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;606,&lt;/div&gt; the Company has deemed the licenses to be distinct from other performance obligations. Revenue allocated to the distinct license based on the SSP is recognized at the time that both the right-to-use the software has commenced for the term and the software has been made available to the customer.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Costs to obtain a contract&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;Under the Company's previous accounting policies, the Company generally expensed commission costs paid to employees or &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;third&lt;/div&gt; parties to obtain customer contracts as incurred. Under ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;606,&lt;/div&gt; the Company allocates these incremental commission costs to the various performance obligations to which they relate using the relative selling price allocation for bundled commissions. For performance obligations &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; delivered upfront, the allocated commissions are deferred and amortized over the pattern of transfer of the related performance obligation. If the expected amortization period for all performance obligations in a contract with a customer is &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;one&lt;/div&gt; year or less, the commission fee is expensed when incurred. Capitalized costs to obtain a contract are included in other long-term assets on the consolidated balance sheet.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The adoption of ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;606&lt;/div&gt; resulted in an increase to contract assets of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.5&lt;/div&gt; million, an increase to other long-term assets of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$4.2&lt;/div&gt; million, an increase to the liability for deferred income taxes of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1.1&lt;/div&gt; million and a decrease to accumulated deficit of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$3.6&lt;/div&gt; million, as of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2018.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; October 2016, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16,&lt;/div&gt; &amp;#x201c;Income Taxes (Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;740&lt;/div&gt;): Intra-Entity Transfers of Assets Other Than Inventory&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16&amp;#x201d;&lt;/div&gt;). ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16&lt;/div&gt; requires the recognition of the income tax consequences of an intra-entity transfer of an asset other than inventory when the transfer occurs. ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; December 15, 2017, &lt;/div&gt;which is our fiscal year that began on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2018 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt;). The Company adopted this guidance in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019.&lt;/div&gt; As a result of adoption, the balance of unamortized deferred tax charges was written-off and previously unrecognized deferred income tax assets in certain jurisdictions were recognized. The change was applied on a modified retrospective basis, and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; prior periods were restated. Accordingly, we recognized a decrease of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$4.0&lt;/div&gt; million in accumulated deficit as a result of the adoption of this change in accounting policy, as of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2018.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 2016, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;02,&lt;/div&gt; &amp;#x201c;Leases (Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;842&lt;/div&gt;)&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;02&amp;#x201d;&lt;/div&gt;) and issued subsequent amendments to the initial guidance during &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2018,&lt;/div&gt; collectively referred to as &amp;#x201c;ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;842&amp;#x201d;.&lt;/div&gt; These updates supersede the lease guidance in ASC Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;840,&lt;/div&gt; &amp;#x201c;Leases&amp;#x201d; and require the recognition of lease assets and lease liabilities by lessees for most leases previously classified as operating leases under ASC Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;840.&lt;/div&gt; Leases will continue to be classified as either operating or finance. ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;842&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; December 15, 2018, &lt;/div&gt;which is our fiscal year that began on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2019 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt;). The Company adopted ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;842&lt;/div&gt; in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; using the cumulative effect method and therefore the comparative information has &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; been restated and continues to be reported under ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;840.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 15 --&gt; &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As permitted under ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;842,&lt;/div&gt; we have elected to apply the practical expedient to carry forward our current assessments of whether a contract contains a lease, lease classification, remaining lease terms and amounts capitalized as initial direct costs. We have also elected to apply the practical expedient &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; to recognize right-of-use (ROU) assets and lease liabilities for short-term leases that have a lease term of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12&lt;/div&gt; months or less. The adoption of ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;842&lt;/div&gt; resulted in an increase to ROU assets and lease liabilities of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$10.4&lt;/div&gt;&lt;/div&gt; million as of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2019. &lt;/div&gt;The adoption of ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;842&lt;/div&gt; did &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; have a material impact on either our consolidated statement of operations or our consolidated statement of cash flows.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; June 2016, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13,&lt;/div&gt; &amp;#x201c;Financial Instruments &amp;#x2013; Credit Losses (Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;326&lt;/div&gt;): Measurement of Credit Losses on Financial Instruments&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13&amp;#x201d;&lt;/div&gt;) and issued subsequent amendments to the initial guidance during the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt; calendar year, collectively referred to as &amp;#x201c;ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;326&amp;#x201d;.&lt;/div&gt; ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;326&lt;/div&gt; requires the measurement and recognition of expected credit losses for financial assets held at amortized cost. ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;326&lt;/div&gt; replaces the existing incurred loss impairment model with an expected loss model which requires the use of forward-looking information to calculate credit loss estimates. ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;326&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; December 15, 2019, &lt;/div&gt;which is our fiscal year that began on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2020 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&lt;/div&gt;).&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company is exposed to credit losses primarily through its trade accounts receivable and contract assets. The provision for credit losses is determined utilizing a model of historical losses data. In estimating the provision for credit losses, we considered the age of the receivable, our historical write-offs and the historical creditworthiness of the customer, among other factors. Should any of these factors change, the estimates made by us will also change accordingly, which could affect the level of our future provisions. The Company adopted ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;326&lt;/div&gt; as of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2020 &lt;/div&gt;using the cumulative effect method and therefore the comparative information has &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; been restated. The adoption of ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;326&lt;/div&gt; did &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; have a material impact on our results of operations or disclosures.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 2017, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2017&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;04,&lt;/div&gt; &amp;#x201c;Intangibles &amp;#x2013; Goodwill and Other (Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;350&lt;/div&gt;): Simplifying the Test for Goodwill Impairment&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2017&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;04&amp;#x201d;&lt;/div&gt;). ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2017&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;04&lt;/div&gt; simplifies how an entity is required to test goodwill for impairment. ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2017&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;04&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; December 15, 2019, &lt;/div&gt;which is our fiscal year that began on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2020 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&lt;/div&gt;). The Company adopted this guidance in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021.&lt;/div&gt; The adoption of this guidance did &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; have a material impact on our results of operations or disclosures.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; August 2018, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;15,&lt;/div&gt; &amp;#x201c;Intangibles &amp;#x2013; Goodwill and Other &amp;#x2013; Internal-Use Software (Subtopic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;350&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;40&lt;/div&gt;): Customer's Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;15&amp;#x201d;&lt;/div&gt;). ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;15&lt;/div&gt; aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software. ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;15&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; December 15, 2019, &lt;/div&gt;which is our fiscal year that began on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2020 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&lt;/div&gt;). The Company adopted this guidance in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021.&lt;/div&gt; The adoption of this guidance did &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; have a material impact on our results of operations or disclosures.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Recently issued accounting pronouncements&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; December 2019, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12,&lt;/div&gt; &amp;#x201c;Income Taxes (Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;740&lt;/div&gt;): Simplifying the Accounting for Income Taxes&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12&amp;#x201d;&lt;/div&gt;). ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12&lt;/div&gt; simplifies how an entity accounts for income taxes. ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; December 15, 2020, &lt;/div&gt;which will be our fiscal year beginning &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2021 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2022&lt;/div&gt;). Early adoption is permitted. The Company will adopt this guidance in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2022.&lt;/div&gt; The adoption of this guidance is &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; expected to have a material impact on our results of operations or disclosures.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
  <us-gaap:NoncurrentAssets contextRef="i_2021-01-31_StatementGeographicalAxis-US" decimals="-3" id="c71146079" unitRef="iso4217-usd">92442000</us-gaap:NoncurrentAssets>
  <us-gaap:NoncurrentAssets contextRef="i_2020-01-31_StatementGeographicalAxis-US" decimals="-3" id="c71146080" unitRef="iso4217-usd">114980000</us-gaap:NoncurrentAssets>
  <us-gaap:NoncurrentAssets contextRef="i_2021-01-31_StatementGeographicalAxis-EMEAMember" decimals="-3" id="c71146081" unitRef="iso4217-usd">39769000</us-gaap:NoncurrentAssets>
  <us-gaap:NoncurrentAssets contextRef="i_2020-01-31_StatementGeographicalAxis-EMEAMember" decimals="-3" id="c71146082" unitRef="iso4217-usd">31299000</us-gaap:NoncurrentAssets>
  <us-gaap:NoncurrentAssets contextRef="i_2021-01-31_StatementGeographicalAxis-CA" decimals="-3" id="c71146083" unitRef="iso4217-usd">107472000</us-gaap:NoncurrentAssets>
  <us-gaap:NoncurrentAssets contextRef="i_2020-01-31_StatementGeographicalAxis-CA" decimals="-3" id="c71146084" unitRef="iso4217-usd">111264000</us-gaap:NoncurrentAssets>
  <us-gaap:NoncurrentAssets contextRef="i_2021-01-31_StatementGeographicalAxis-AsiaPacificMember" decimals="-3" id="c71146085" unitRef="iso4217-usd">12398000</us-gaap:NoncurrentAssets>
  <us-gaap:NoncurrentAssets contextRef="i_2020-01-31_StatementGeographicalAxis-AsiaPacificMember" decimals="-3" id="c71146086" unitRef="iso4217-usd">13144000</us-gaap:NoncurrentAssets>
  <us-gaap:NoncurrentAssets contextRef="i_2021-01-31" decimals="-3" id="c71146087" unitRef="iso4217-usd">252081000</us-gaap:NoncurrentAssets>
  <us-gaap:NoncurrentAssets contextRef="i_2020-01-31" decimals="-3" id="c71146088" unitRef="iso4217-usd">270687000</us-gaap:NoncurrentAssets>
  <us-gaap:NumberOfReportableSegments contextRef="d_2020-02-01_2021-01-31" decimals="INF" id="c71146645" unitRef="xbrli-pure">1</us-gaap:NumberOfReportableSegments>
  <us-gaap:OperatingExpenses contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71144952" unitRef="iso4217-usd">187358000</us-gaap:OperatingExpenses>
  <us-gaap:OperatingExpenses contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71144953" unitRef="iso4217-usd">187812000</us-gaap:OperatingExpenses>
  <us-gaap:OperatingExpenses contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71144954" unitRef="iso4217-usd">158734000</us-gaap:OperatingExpenses>
  <us-gaap:OperatingIncomeLoss contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71144955" unitRef="iso4217-usd">71396000</us-gaap:OperatingIncomeLoss>
  <us-gaap:OperatingIncomeLoss contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71144956" unitRef="iso4217-usd">52258000</us-gaap:OperatingIncomeLoss>
  <us-gaap:OperatingIncomeLoss contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71144957" unitRef="iso4217-usd">41443000</us-gaap:OperatingIncomeLoss>
  <us-gaap:OperatingLeaseCost contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145550" unitRef="iso4217-usd">4590000</us-gaap:OperatingLeaseCost>
  <us-gaap:OperatingLeaseCost contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145551" unitRef="iso4217-usd">4902000</us-gaap:OperatingLeaseCost>
  <us-gaap:OperatingLeaseLiability contextRef="i_2019-02-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201602Member" decimals="-3" id="c71146244" unitRef="iso4217-usd">10400000</us-gaap:OperatingLeaseLiability>
  <us-gaap:OperatingLeaseLiability contextRef="i_2021-01-31" decimals="-3" id="c71145572" unitRef="iso4217-usd">13063000</us-gaap:OperatingLeaseLiability>
  <us-gaap:OperatingLeaseLiabilityCurrent contextRef="i_2021-01-31" decimals="-3" id="c71145573" unitRef="iso4217-usd">4168000</us-gaap:OperatingLeaseLiabilityCurrent>
  <us-gaap:OperatingLeaseLiabilityCurrent contextRef="i_2020-01-31" decimals="-3" id="c71144890" unitRef="iso4217-usd">3928000</us-gaap:OperatingLeaseLiabilityCurrent>
  <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="i_2021-01-31" decimals="-3" id="c71145574" unitRef="iso4217-usd">8895000</us-gaap:OperatingLeaseLiabilityNoncurrent>
  <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="i_2020-01-31" decimals="-3" id="c71144900" unitRef="iso4217-usd">9477000</us-gaap:OperatingLeaseLiabilityNoncurrent>
  <us-gaap:OperatingLeasePayments contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145556" unitRef="iso4217-usd">4831000</us-gaap:OperatingLeasePayments>
  <us-gaap:OperatingLeasePayments contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145557" unitRef="iso4217-usd">4150000</us-gaap:OperatingLeasePayments>
  <us-gaap:OperatingLeaseRightOfUseAsset contextRef="i_2019-02-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201602Member" decimals="-3" id="c71146657" unitRef="iso4217-usd">10400000</us-gaap:OperatingLeaseRightOfUseAsset>
  <us-gaap:OperatingLeaseRightOfUseAsset contextRef="i_2021-01-31" decimals="-3" id="c71144875" unitRef="iso4217-usd">12165000</us-gaap:OperatingLeaseRightOfUseAsset>
  <us-gaap:OperatingLeaseRightOfUseAsset contextRef="i_2020-01-31" decimals="-3" id="c71144876" unitRef="iso4217-usd">12877000</us-gaap:OperatingLeaseRightOfUseAsset>
  <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent contextRef="i_2021-01-31" decimals="3" id="c71145562" unitRef="xbrli-pure">0.025</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
  <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent contextRef="i_2020-01-31" decimals="3" id="c71145563" unitRef="xbrli-pure">0.028</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
  <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="i_2021-01-31" id="c71145560">P3Y292D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
  <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="i_2020-01-31" id="c71145561">P4Y109D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2022Member" id="c71145920" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-InternalRevenueServiceIRSMember_TaxPeriodAxis-TaxYear2022Member" id="c71145921" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2022Member" id="c71145922" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2022Member" decimals="-3" id="c71145923" unitRef="iso4217-usd">285000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_TaxPeriodAxis-TaxYear2022Member" decimals="-3" id="c71145924" unitRef="iso4217-usd">285000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2023Member" id="c71145925" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-InternalRevenueServiceIRSMember_TaxPeriodAxis-TaxYear2023Member" decimals="-3" id="c71145926" unitRef="iso4217-usd">3000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2023Member" decimals="-3" id="c71145927" unitRef="iso4217-usd">341000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2023Member" decimals="-3" id="c71145928" unitRef="iso4217-usd">50000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_TaxPeriodAxis-TaxYear2023Member" decimals="-3" id="c71145929" unitRef="iso4217-usd">394000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2024Member" id="c71145930" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-InternalRevenueServiceIRSMember_TaxPeriodAxis-TaxYear2024Member" decimals="-3" id="c71145931" unitRef="iso4217-usd">16000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2024Member" decimals="-3" id="c71145932" unitRef="iso4217-usd">138000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2024Member" decimals="-3" id="c71145933" unitRef="iso4217-usd">67000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_TaxPeriodAxis-TaxYear2024Member" decimals="-3" id="c71145934" unitRef="iso4217-usd">221000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2025Member" id="c71145935" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-InternalRevenueServiceIRSMember_TaxPeriodAxis-TaxYear2025Member" decimals="-3" id="c71145936" unitRef="iso4217-usd">51000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2025Member" id="c71145937" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2025Member" id="c71145938" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_TaxPeriodAxis-TaxYear2025Member" decimals="-3" id="c71145939" unitRef="iso4217-usd">51000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2026Member" id="c71145940" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_TaxPeriodAxis-TaxYear2026Member" id="c71145941" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2026Member" id="c71145942" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2026Member" id="c71145943" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_TaxPeriodAxis-TaxYear2026Member" id="c71145944" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-AfterTaxYear2026Member" decimals="-3" id="c71145945" unitRef="iso4217-usd">6969000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-InternalRevenueServiceIRSMember_TaxPeriodAxis-AfterTaxYear2026Member" decimals="-3" id="c71145946" unitRef="iso4217-usd">2807000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-AfterTaxYear2026Member" decimals="-3" id="c71145947" unitRef="iso4217-usd">47832000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-AfterTaxYear2026Member" decimals="-3" id="c71145948" unitRef="iso4217-usd">2434000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_TaxPeriodAxis-AfterTaxYear2026Member" decimals="-3" id="c71145949" unitRef="iso4217-usd">60042000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember" decimals="-3" id="c71145950" unitRef="iso4217-usd">6969000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember" decimals="-3" id="c71145951" unitRef="iso4217-usd">2877000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember" decimals="-3" id="c71145952" unitRef="iso4217-usd">48311000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember" decimals="-3" id="c71145953" unitRef="iso4217-usd">2836000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OperatingLossCarryforwards contextRef="i_2021-01-31" decimals="-3" id="c71145954" unitRef="iso4217-usd">60993000</us-gaap:OperatingLossCarryforwards>
  <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="i_2021-01-31" decimals="-3" id="c71145546" unitRef="iso4217-usd">13048000</us-gaap:OtherAccruedLiabilitiesCurrent>
  <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="i_2020-01-31" decimals="-3" id="c71145547" unitRef="iso4217-usd">13253000</us-gaap:OtherAccruedLiabilitiesCurrent>
  <us-gaap:OtherAssetsCurrent contextRef="i_2021-01-31" decimals="-3" id="c71145468" unitRef="iso4217-usd">14593000</us-gaap:OtherAssetsCurrent>
  <us-gaap:OtherAssetsCurrent contextRef="i_2020-01-31" decimals="-3" id="c71145469" unitRef="iso4217-usd">7294000</us-gaap:OtherAssetsCurrent>
  <us-gaap:OtherAssetsNoncurrent contextRef="i_2018-02-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member" decimals="-3" id="c71146207" unitRef="iso4217-usd">4200000</us-gaap:OtherAssetsNoncurrent>
  <us-gaap:OtherAssetsNoncurrent contextRef="i_2021-01-31" decimals="-3" id="c71144871" unitRef="iso4217-usd">15550000</us-gaap:OtherAssetsNoncurrent>
  <us-gaap:OtherAssetsNoncurrent contextRef="i_2020-01-31" decimals="-3" id="c71144872" unitRef="iso4217-usd">13520000</us-gaap:OtherAssetsNoncurrent>
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71144998" unitRef="iso4217-usd">24755000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71144999" unitRef="iso4217-usd">-743000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145000" unitRef="iso4217-usd">-9949000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71146653" unitRef="iso4217-usd">290000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71146654" unitRef="iso4217-usd">-132000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71146655" unitRef="iso4217-usd">-44000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
  <us-gaap:OtherComprehensiveIncomeLossNetOfTax contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145001" unitRef="iso4217-usd">24755000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
  <us-gaap:OtherComprehensiveIncomeLossNetOfTax contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145002" unitRef="iso4217-usd">-743000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
  <us-gaap:OtherComprehensiveIncomeLossNetOfTax contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145003" unitRef="iso4217-usd">-9949000</us-gaap:OtherComprehensiveIncomeLossNetOfTax>
  <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="d_2020-02-01_2021-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="c71152802" unitRef="iso4217-usd">24755000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
  <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="c71152803" unitRef="iso4217-usd">-743000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
  <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="c71152804" unitRef="iso4217-usd">-9949000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
  <us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792247">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;20&lt;/div&gt; - Other Charges&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Other charges are comprised of acquisition-related costs, contingent consideration adjustments and restructuring initiatives which have been undertaken from time to time under various restructuring plans. Acquisition-related costs primarily include advisory services, administrative costs and retention bonuses to employees joining by way of an acquisition, and collectively relate to completed and prospective acquisitions.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following tables shows the components of other charges as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 61%; text-align: left"&gt;Acquisition-related costs&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,981&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,457&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,187&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Contingent consideration adjustments&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,946&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;340&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;591&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Restructuring plans&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,300&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;20&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,335&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,797&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,798&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&lt;/div&gt; Restructuring Plan&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;second&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021,&lt;/div&gt; management approved and began to implement a restructuring plan (the &amp;#x201c;Fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&lt;/div&gt; Restructuring Plan&amp;#x201d;) to reduce operating expenses. To date, &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$2.3&lt;/div&gt; million has been recorded within other charges in conjunction with this restructuring plan. These charges are comprised of workforce reduction and the accelerated ROU asset amortization associated with certain office closures. This plan is substantially complete with expected remaining workforce reduction and office closure costs of approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.1&lt;/div&gt; million.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following table shows the changes in the restructuring provision for the Fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&lt;/div&gt; Restructuring Plan:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right; text-indent: 1.5pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right; text-indent: 1.5pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Workforce&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right; text-indent: 1.5pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Reduction&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right; text-indent: 1.5pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Office Closures&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Total&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td&gt;Balance at January 31, 2020&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="width: 61%; text-align: left; padding-left: 10pt"&gt;Accruals and adjustments&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,717&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;583&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,300&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-left: 10pt"&gt;Cash draw downs&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,657&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(583&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,240&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Foreign exchange&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2021&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;70&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;70&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt;&lt;/div&gt;</us-gaap:OtherIncomeAndOtherExpenseDisclosureTextBlock>
  <us-gaap:OtherNoncashIncomeExpense contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145076" unitRef="iso4217-usd">-207000</us-gaap:OtherNoncashIncomeExpense>
  <us-gaap:OtherNoncashIncomeExpense contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145077" unitRef="iso4217-usd">-337000</us-gaap:OtherNoncashIncomeExpense>
  <us-gaap:OtherNoncashIncomeExpense contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145078" unitRef="iso4217-usd">-71000</us-gaap:OtherNoncashIncomeExpense>
  <us-gaap:OtherNonoperatingExpense contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71146002" unitRef="iso4217-usd">2335000</us-gaap:OtherNonoperatingExpense>
  <us-gaap:OtherNonoperatingExpense contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71146003" unitRef="iso4217-usd">3797000</us-gaap:OtherNonoperatingExpense>
  <us-gaap:OtherNonoperatingExpense contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71146004" unitRef="iso4217-usd">3798000</us-gaap:OtherNonoperatingExpense>
  <us-gaap:OtherReceivablesNetCurrent contextRef="i_2021-01-31" decimals="-3" id="c71145470" unitRef="iso4217-usd">14830000</us-gaap:OtherReceivablesNetCurrent>
  <us-gaap:OtherReceivablesNetCurrent contextRef="i_2020-01-31" decimals="-3" id="c71145471" unitRef="iso4217-usd">7294000</us-gaap:OtherReceivablesNetCurrent>
  <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities contextRef="d_2020-02-01_2021-01-31" id="c71145112" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145113" unitRef="iso4217-usd">785000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
  <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145114" unitRef="iso4217-usd">1531000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
  <us-gaap:PaymentsForRestructuring contextRef="d_2020-02-01_2021-01-31_RestructuringCostAndReserveAxis-EmployeeSeveranceMember" decimals="-3" id="c71146011" unitRef="iso4217-usd">1657000</us-gaap:PaymentsForRestructuring>
  <us-gaap:PaymentsForRestructuring contextRef="d_2020-02-01_2021-01-31_RestructuringCostAndReserveAxis-FacilityClosingMember" decimals="-3" id="c71146012" unitRef="iso4217-usd">583000</us-gaap:PaymentsForRestructuring>
  <us-gaap:PaymentsForRestructuring contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71146013" unitRef="iso4217-usd">2240000</us-gaap:PaymentsForRestructuring>
  <us-gaap:PaymentsOfDebtIssuanceCosts contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145106" unitRef="iso4217-usd">40000</us-gaap:PaymentsOfDebtIssuanceCosts>
  <us-gaap:PaymentsOfDebtIssuanceCosts contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145107" unitRef="iso4217-usd">1400000</us-gaap:PaymentsOfDebtIssuanceCosts>
  <us-gaap:PaymentsOfDebtIssuanceCosts contextRef="d_2018-02-01_2019-01-31" id="c71145108" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2020-02-21_2020-02-21_BusinessAcquisitionAxis-PeoplevoxMember" decimals="-5" id="c71146304" unitRef="iso4217-usd">24100000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2020-06-10_2020-06-10_BusinessAcquisitionAxis-KontainersMember" decimals="-5" id="c71146310" unitRef="iso4217-usd">5200000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2020-11-06_2020-11-06_BusinessAcquisitionAxis-ShipTrackMember" decimals="-5" id="c71146317" unitRef="iso4217-usd">19000000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2019-02-12_2019-02-12_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-5" id="c71146332" unitRef="iso4217-usd">248900000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2019-05-10_2019-05-10_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-5" id="c71146340" unitRef="iso4217-usd">21800000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2019-06-27_2019-06-27_BusinessAcquisitionAxis-StepcomMember" decimals="-5" id="c71146349" unitRef="iso4217-usd">18600000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2019-08-20_2019-08-20_BusinessAcquisitionAxis-BesttransportMember" decimals="-5" id="c71146356" unitRef="iso4217-usd">11700000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2018-02-02_2018-02-02_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-5" id="c71146365" unitRef="iso4217-usd">32400000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2018-06-22_2018-06-22_BusinessAcquisitionAxis-VelocityMailMember" decimals="-5" id="c71146371" unitRef="iso4217-usd">26100000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2021-02-26_2021-02-26_BusinessAcquisitionAxis-VitaDexSolutionsLLCMember_SubsequentEventTypeAxis-SubsequentEventMember" decimals="-6" id="c71146647" unitRef="iso4217-usd">36000000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145094" unitRef="iso4217-usd">48403000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145095" unitRef="iso4217-usd">292053000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145096" unitRef="iso4217-usd">67932000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember" decimals="-3" id="c71145141" unitRef="iso4217-usd">24137000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-KontainersMember" decimals="-3" id="c71145142" unitRef="iso4217-usd">5237000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember" decimals="-3" id="c71145143" unitRef="iso4217-usd">19029000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember" decimals="-3" id="c71145144" unitRef="iso4217-usd">48403000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember" decimals="-3" id="c71152948" unitRef="iso4217-usd">239863000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember" decimals="-3" id="c71152949" unitRef="iso4217-usd">21833000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember" decimals="-3" id="c71152950" unitRef="iso4217-usd">18639000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember" decimals="-3" id="c71152951" unitRef="iso4217-usd">11718000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember" decimals="-3" id="c71152952" unitRef="iso4217-usd">292053000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember" decimals="-3" id="c71153143" unitRef="iso4217-usd">32382000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember" decimals="-3" id="c71153144" unitRef="iso4217-usd">26107000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember" decimals="-3" id="c71153145" unitRef="iso4217-usd">9443000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember" decimals="-3" id="c71153146" unitRef="iso4217-usd">67932000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
  <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145091" unitRef="iso4217-usd">3759000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
  <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145092" unitRef="iso4217-usd">4900000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
  <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145093" unitRef="iso4217-usd">5244000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
  <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="i_2021-01-31" decimals="-3" id="c71144865" unitRef="iso4217-usd">16939000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
  <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="i_2020-01-31" decimals="-3" id="c71144866" unitRef="iso4217-usd">12984000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
  <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145109" unitRef="iso4217-usd">6194000</us-gaap:ProceedsFromIssuanceOfCommonStock>
  <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145110" unitRef="iso4217-usd">237973000</us-gaap:ProceedsFromIssuanceOfCommonStock>
  <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145111" unitRef="iso4217-usd">345000</us-gaap:ProceedsFromIssuanceOfCommonStock>
  <us-gaap:ProceedsFromLinesOfCredit contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145100" unitRef="iso4217-usd">10196000</us-gaap:ProceedsFromLinesOfCredit>
  <us-gaap:ProceedsFromLinesOfCredit contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145101" unitRef="iso4217-usd">297015000</us-gaap:ProceedsFromLinesOfCredit>
  <us-gaap:ProceedsFromLinesOfCredit contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145102" unitRef="iso4217-usd">68468000</us-gaap:ProceedsFromLinesOfCredit>
  <us-gaap:ProceedsFromStockOptionsExercised contextRef="d_2020-02-01_2021-01-31" decimals="-5" id="c71146513" unitRef="iso4217-usd">6200000</us-gaap:ProceedsFromStockOptionsExercised>
  <us-gaap:ProceedsFromStockOptionsExercised contextRef="d_2019-02-01_2020-01-31" decimals="-5" id="c71146514" unitRef="iso4217-usd">1500000</us-gaap:ProceedsFromStockOptionsExercised>
  <us-gaap:ProceedsFromStockOptionsExercised contextRef="d_2018-02-01_2019-01-31" decimals="-5" id="c71146515" unitRef="iso4217-usd">500000</us-gaap:ProceedsFromStockOptionsExercised>
  <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792208">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8&lt;/div&gt; &amp;#x2013; Property and Equipment&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td&gt;Cost&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; width: 74%"&gt;Computer equipment and software&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;37,469&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;34,442&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Furniture and fixtures&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,494&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,432&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt"&gt;Leasehold improvements&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;807&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;778&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Equipment installed with customers&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,654&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,289&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt"&gt;Assets under construction&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;998&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;829&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;42,422&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;38,770&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Accumulated depreciation&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Computer equipment and software&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;28,123&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;23,730&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt"&gt;Furniture and fixtures&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,081&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;816&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Leasehold improvements&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;401&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;290&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt"&gt;Equipment installed with customers&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;728&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;203&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;30,333&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;25,039&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt"&gt;Net&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12,089&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13,731&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentMember" decimals="-3" id="c71145472" unitRef="iso4217-usd">37469000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentMember" decimals="-3" id="c71145473" unitRef="iso4217-usd">34442000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember" decimals="-3" id="c71145474" unitRef="iso4217-usd">1494000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember" decimals="-3" id="c71145475" unitRef="iso4217-usd">1432000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember" decimals="-3" id="c71145476" unitRef="iso4217-usd">807000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember" decimals="-3" id="c71145477" unitRef="iso4217-usd">778000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-EquipmentInstalledWithCustomersMember" decimals="-3" id="c71145478" unitRef="iso4217-usd">1654000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-EquipmentInstalledWithCustomersMember" decimals="-3" id="c71145479" unitRef="iso4217-usd">1289000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-AssetUnderConstructionMember" decimals="-3" id="c71145480" unitRef="iso4217-usd">998000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-AssetUnderConstructionMember" decimals="-3" id="c71145481" unitRef="iso4217-usd">829000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2021-01-31" decimals="-3" id="c71145482" unitRef="iso4217-usd">42422000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentGross contextRef="i_2020-01-31" decimals="-3" id="c71145483" unitRef="iso4217-usd">38770000</us-gaap:PropertyPlantAndEquipmentGross>
  <us-gaap:PropertyPlantAndEquipmentNet contextRef="i_2021-01-31" decimals="-3" id="c71144873" unitRef="iso4217-usd">12089000</us-gaap:PropertyPlantAndEquipmentNet>
  <us-gaap:PropertyPlantAndEquipmentNet contextRef="i_2020-01-31" decimals="-3" id="c71144874" unitRef="iso4217-usd">13731000</us-gaap:PropertyPlantAndEquipmentNet>
  <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="d_2020-02-01_2021-01-31" id="c71152868">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Property and equipment&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Property and equipment is recorded at cost.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Effective &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2020, &lt;/div&gt;we changed our accounting method for property &amp;amp; equipment from the declining balance method of depreciation to the straight-line method of depreciation to better reflect the consumption of the assets' economic benefits. Our change in the method of depreciation is considered a change in accounting estimate effected by a change in accounting principle and has been applied prospectively. The change in the method of depreciation did &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; have a material impact on our results of operations.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Depreciation of our property and equipment is generally recorded at the following rates:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0" align="center"&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 50%; text-align: left"&gt;Computer equipment and software&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 49%; text-align: left"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13&lt;/div&gt; years&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Furniture and fixtures&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;14&lt;/div&gt; years&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Leasehold improvements&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;Straight-line over lesser of useful life or term of lease&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Equipment installed with customers&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3&lt;/div&gt; years&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 9 --&gt; &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Fully depreciated property and equipment are removed from the balance sheet when they are &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; longer in use.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
  <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-9">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Cost&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; width: 74%"&gt;Computer equipment and software&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;37,469&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;34,442&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Furniture and fixtures&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,494&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,432&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt"&gt;Leasehold improvements&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;807&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;778&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Equipment installed with customers&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,654&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,289&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt"&gt;Assets under construction&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;998&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;829&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;42,422&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;38,770&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Accumulated depreciation&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Computer equipment and software&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;28,123&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;23,730&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt"&gt;Furniture and fixtures&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,081&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;816&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Leasehold improvements&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;401&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;290&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt"&gt;Equipment installed with customers&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;728&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;203&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;30,333&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;25,039&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;Net&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12,089&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13,731&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
  <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="d_2020-02-01_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentMember_RangeAxis-MinimumMember" id="c71146138">P1Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
  <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="d_2020-02-01_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentMember_RangeAxis-MaximumMember" id="c71146139">P13Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
  <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="d_2020-02-01_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember_RangeAxis-MinimumMember" id="c71146140">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
  <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="d_2020-02-01_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember_RangeAxis-MaximumMember" id="c71146141">P14Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
  <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="d_2020-02-01_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-EquipmentMember" id="c71146142">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
  <us-gaap:ProvisionForDoubtfulAccounts contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145462" unitRef="iso4217-usd">1681000</us-gaap:ProvisionForDoubtfulAccounts>
  <us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy contextRef="d_2020-02-01_2021-01-31" id="c71152864">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Provision for Credit Losses&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We are exposed to credit losses primarily through our trade accounts receivable and contract assets. The provision for credit losses is determined utilizing a model of historical losses data. In estimating the provision for credit losses, we considered the age of the receivable, our historical write-offs and the historical creditworthiness of the customer, among other factors. Should any of these factors change, the estimates made by us will also change accordingly, which could affect the level of our future provisions.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy>
  <us-gaap:RepaymentsOfDebt contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145103" unitRef="iso4217-usd">10793000</us-gaap:RepaymentsOfDebt>
  <us-gaap:RepaymentsOfDebt contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145104" unitRef="iso4217-usd">322634000</us-gaap:RepaymentsOfDebt>
  <us-gaap:RepaymentsOfDebt contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145105" unitRef="iso4217-usd">78659000</us-gaap:RepaymentsOfDebt>
  <us-gaap:ResearchAndDevelopmentExpense contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71144940" unitRef="iso4217-usd">54066000</us-gaap:ResearchAndDevelopmentExpense>
  <us-gaap:ResearchAndDevelopmentExpense contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71144941" unitRef="iso4217-usd">53513000</us-gaap:ResearchAndDevelopmentExpense>
  <us-gaap:ResearchAndDevelopmentExpense contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71144942" unitRef="iso4217-usd">47872000</us-gaap:ResearchAndDevelopmentExpense>
  <us-gaap:ResearchDevelopmentAndComputerSoftwarePolicyTextBlock contextRef="d_2020-02-01_2021-01-31" id="c71152871">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Research and development costs&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;To date, we have &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; capitalized any costs related to research and development of our computer software products. Costs incurred between the dates that the product is considered to be technologically feasible and is considered to be ready for general release to customers have historically been expensed as they have &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; been significant.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ResearchDevelopmentAndComputerSoftwarePolicyTextBlock>
  <us-gaap:RestructuringAndRelatedCostExpectedCostRemaining1 contextRef="i_2021-01-31_RestructuringPlanAxis-Fiscal2021RestructuringPlanMember" decimals="-5" id="c71146641" unitRef="iso4217-usd">100000</us-gaap:RestructuringAndRelatedCostExpectedCostRemaining1>
  <us-gaap:RestructuringCharges contextRef="d_2020-05-01_2020-07-31_RestructuringPlanAxis-Fiscal2021RestructuringPlanMember" decimals="-5" id="c71146640" unitRef="iso4217-usd">2300000</us-gaap:RestructuringCharges>
  <us-gaap:RestructuringCharges contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145999" unitRef="iso4217-usd">2300000</us-gaap:RestructuringCharges>
  <us-gaap:RestructuringCharges contextRef="d_2019-02-01_2020-01-31" id="c71146000" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:RestructuringCharges contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71146001" unitRef="iso4217-usd">20000</us-gaap:RestructuringCharges>
  <us-gaap:RestructuringReserve contextRef="i_2020-01-31_RestructuringCostAndReserveAxis-EmployeeSeveranceMember" id="c71146005" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:RestructuringReserve contextRef="i_2020-01-31_RestructuringCostAndReserveAxis-FacilityClosingMember" id="c71146006" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:RestructuringReserve contextRef="i_2020-01-31" id="c71146007" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:RestructuringReserve contextRef="i_2021-01-31_RestructuringCostAndReserveAxis-EmployeeSeveranceMember" decimals="-3" id="c71146017" unitRef="iso4217-usd">70000</us-gaap:RestructuringReserve>
  <us-gaap:RestructuringReserve contextRef="i_2021-01-31_RestructuringCostAndReserveAxis-FacilityClosingMember" id="c71146018" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:RestructuringReserve contextRef="i_2021-01-31" decimals="-3" id="c71146019" unitRef="iso4217-usd">70000</us-gaap:RestructuringReserve>
  <us-gaap:RestructuringReserveAccrualAdjustment1 contextRef="d_2020-02-01_2021-01-31_RestructuringCostAndReserveAxis-EmployeeSeveranceMember" decimals="-3" id="c71146008" unitRef="iso4217-usd">1717000</us-gaap:RestructuringReserveAccrualAdjustment1>
  <us-gaap:RestructuringReserveAccrualAdjustment1 contextRef="d_2020-02-01_2021-01-31_RestructuringCostAndReserveAxis-FacilityClosingMember" decimals="-3" id="c71146009" unitRef="iso4217-usd">583000</us-gaap:RestructuringReserveAccrualAdjustment1>
  <us-gaap:RestructuringReserveAccrualAdjustment1 contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71146010" unitRef="iso4217-usd">2300000</us-gaap:RestructuringReserveAccrualAdjustment1>
  <us-gaap:RestructuringReserveTranslationAdjustment contextRef="d_2020-02-01_2021-01-31_RestructuringCostAndReserveAxis-EmployeeSeveranceMember" decimals="-3" id="c71146014" unitRef="iso4217-usd">-10000</us-gaap:RestructuringReserveTranslationAdjustment>
  <us-gaap:RestructuringReserveTranslationAdjustment contextRef="d_2020-02-01_2021-01-31_RestructuringCostAndReserveAxis-FacilityClosingMember" id="c71146015" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:RestructuringReserveTranslationAdjustment contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71146016" unitRef="iso4217-usd">-10000</us-gaap:RestructuringReserveTranslationAdjustment>
  <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="i_2018-02-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member" decimals="-3" id="c71146209" unitRef="iso4217-usd">3600000</us-gaap:RetainedEarningsAccumulatedDeficit>
  <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="i_2018-02-01_AdjustmentsForNewAccountingPronouncementsAxis-TheAccountingStandardsUpdate201616Member" decimals="-3" id="c71146223" unitRef="iso4217-usd">4000000</us-gaap:RetainedEarningsAccumulatedDeficit>
  <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="i_2021-01-31" decimals="-3" id="c71144915" unitRef="iso4217-usd">-83670000</us-gaap:RetainedEarningsAccumulatedDeficit>
  <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="i_2020-01-31" decimals="-3" id="c71144916" unitRef="iso4217-usd">-135770000</us-gaap:RetainedEarningsAccumulatedDeficit>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71144928" unitRef="iso4217-usd">348664000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71144929" unitRef="iso4217-usd">325791000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71144930" unitRef="iso4217-usd">275171000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2020-02-01_2021-01-31_StatementGeographicalAxis-US" decimals="-3" id="c71146050" unitRef="iso4217-usd">211232000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2019-02-01_2020-01-31_StatementGeographicalAxis-US" decimals="-3" id="c71146051" unitRef="iso4217-usd">202814000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-02-01_2019-01-31_StatementGeographicalAxis-US" decimals="-3" id="c71146052" unitRef="iso4217-usd">165115000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2020-02-01_2021-01-31_StatementGeographicalAxis-EMEAMember" decimals="-3" id="c71146053" unitRef="iso4217-usd">94163000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2019-02-01_2020-01-31_StatementGeographicalAxis-EMEAMember" decimals="-3" id="c71146054" unitRef="iso4217-usd">82596000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-02-01_2019-01-31_StatementGeographicalAxis-EMEAMember" decimals="-3" id="c71146055" unitRef="iso4217-usd">80094000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2020-02-01_2021-01-31_StatementGeographicalAxis-CA" decimals="-3" id="c71146056" unitRef="iso4217-usd">29388000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2019-02-01_2020-01-31_StatementGeographicalAxis-CA" decimals="-3" id="c71146057" unitRef="iso4217-usd">27304000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-02-01_2019-01-31_StatementGeographicalAxis-CA" decimals="-3" id="c71146058" unitRef="iso4217-usd">18167000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2020-02-01_2021-01-31_StatementGeographicalAxis-AsiaPacificMember" decimals="-3" id="c71146059" unitRef="iso4217-usd">13881000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2019-02-01_2020-01-31_StatementGeographicalAxis-AsiaPacificMember" decimals="-3" id="c71146060" unitRef="iso4217-usd">13077000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-02-01_2019-01-31_StatementGeographicalAxis-AsiaPacificMember" decimals="-3" id="c71146061" unitRef="iso4217-usd">11795000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2020-02-01_2021-01-31_ProductOrServiceAxis-ServiceMember" decimals="-3" id="c71146066" unitRef="iso4217-usd">309731000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2019-02-01_2020-01-31_ProductOrServiceAxis-ServiceMember" decimals="-3" id="c71146067" unitRef="iso4217-usd">284654000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-02-01_2019-01-31_ProductOrServiceAxis-ServiceMember" decimals="-3" id="c71146068" unitRef="iso4217-usd">241543000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2020-02-01_2021-01-31_ProductOrServiceAxis-ProfessionalServicesAndOtherMember" decimals="-3" id="c71146069" unitRef="iso4217-usd">33879000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2019-02-01_2020-01-31_ProductOrServiceAxis-ProfessionalServicesAndOtherMember" decimals="-3" id="c71146070" unitRef="iso4217-usd">33555000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-02-01_2019-01-31_ProductOrServiceAxis-ProfessionalServicesAndOtherMember" decimals="-3" id="c71146071" unitRef="iso4217-usd">27774000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2020-02-01_2021-01-31_ProductOrServiceAxis-LicenseMember" decimals="-3" id="c71146072" unitRef="iso4217-usd">5054000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2019-02-01_2020-01-31_ProductOrServiceAxis-LicenseMember" decimals="-3" id="c71146073" unitRef="iso4217-usd">7582000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax contextRef="d_2018-02-01_2019-01-31_ProductOrServiceAxis-LicenseMember" decimals="-3" id="c71146074" unitRef="iso4217-usd">5854000</us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax>
  <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock contextRef="d_2020-02-01_2021-01-31" id="c71152870">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Revenue recognition&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Revenue is recognized upon transfer of control of promised goods or services to customers in an amount that reflects the consideration we expect to receive in exchange for those goods or services. We enter into contracts that can include the delivery of various combinations of goods and/or services, which are generally capable of being distinct within the context of the contract and accounted for as separate performance obligations. A product or service is distinct if the customer can benefit from it on its own or together with other readily available resources and the promise to transfer the good or service is separately identifiable from other promises in the contractual arrangement with the customer. Non-distinct goods and services are combined with other goods or services until they are distinct as a bundle and therefore form a single performance obligation. The accounting for a contract with a customer that contains multiple performance obligations requires an allocation of the transaction price to each distinct performance obligation based on the determination of the SSP. SSP for each distinct performance obligation in a customer contract is an estimate of the price that would be charged for the specific good or service if it was sold separately in similar circumstances and to similar customers. This estimate determines the amount of revenue recognized for each performance obligation in a customer contract.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 10 --&gt; &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. In addition to these general policies, the specific revenue recognition policies for each major category of revenue are included below.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;License&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Revenues for distinct licenses for on-premise or hosted software are derived from perpetual licenses granted to our customers for the right to use our software products. License revenues are billed on the effective date of a contract and revenue is recognized at the point in time when the customer is provided control of the respective software.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Services&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Services, which allow customers to access hosted software over a contract term without taking possession of the software, is provided on a subscription and/or transactional fee basis. Revenues from hosted software subscriptions and maintenance are typically billed annually in advance and revenue is recognized on a ratable basis over the contract term beginning on the date that our service is made available to the customer. Transaction fees are typically billed and recognized as revenue on a monthly basis based on the customer usage for that period.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Professional Services &amp;amp; Other&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Professional services are comprised of consulting, implementation and training services related to our services and products. These services are generally considered to be separate performance obligations as they provide incremental benefit to customers beyond providing access to the software. Professional services are typically billed on a time and materials basis and revenue is recognized over time as the services are performed. For professional services contracts billed on a fixed price basis, revenue is recognized over time based on the proportion of services performed. Revenue related to customer reimbursement of travel related expenses is recognized on a gross basis as incurred. Other revenues include hardware revenue and is generally billed, and revenue is recognized, when control of the product has transferred under the terms of an enforceable contract.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Our contracts with customers often include promises to transfer multiple goods and services to a customer. Determining whether goods and services are considered distinct performance obligations that should be accounted for separately versus together &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;require judgment. Judgment is also needed in assessing the ability to collect the corresponding receivables.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Significant assumptions and judgment are required to determine the SSP for each distinct performance obligation, which is needed to determine whether there is a discount that needs to be allocated based on the relative SSP of the various goods and services. When estimating the SSP, we make certain significant assumptions including the basis for stratification of the underlying population of customer contracts based on pricing practices for different goods or services, as appropriate. In order to determine the SSP of its promised goods or services, we conduct a regular analysis to determine whether various goods or services have an observable standalone selling price. If the Company does &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; have an observable SSP for a particular good or service, then SSP for that particular good or service is estimated using reasonably available information and maximizing observable inputs with approaches including historical pricing, cost plus a margin, and the residual approach.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Costs to obtain a contract with a customer&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We recognize an asset for the incremental costs of obtaining a contract with a customer if we expect the costs to be recoverable. We have determined that certain sales incentive programs meet the requirements to be capitalized. These capitalized costs are amortized consistent with the pattern of transfer to the customer for the goods and services to which the asset relates, including specifically identifiable contract renewals. The period of benefit including renewals is determined to be generally between &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;four&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;six&lt;/div&gt; years, taking into consideration our customer contracts, our technology, renewal behaviors and other factors. Amortization of the asset is included in sales and marketing expenses in the consolidated statements of operations. Applying the practical expedient, we recognize the incremental costs of obtaining contracts as an expense when incurred if the amortization period of the assets that we otherwise would have recognized is &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;one&lt;/div&gt; year or less.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 11 --&gt; &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Contract assets and liabilities&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; color: black"&gt;The payment terms and conditions in our customer contracts &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;vary from the timing of revenue recognition. In some cases, customers pay in advance of delivery of products or services; in other cases, payment is due as services are performed or in arrears following delivery. Timing differences between revenue recognition and invoicing result in unbilled receivables, contract assets, or deferred revenue. Receivables are accrued when revenue is recognized prior to invoicing but the right to payment is unconditional (i.e., only the passage of time is required). This occurs most commonly when software term licenses recognized at a point in time are paid for periodically over the license term. Contract assets result when amounts allocated to distinct performance obligations are recognized when or as control of a product or service is transferred to the customer, but invoicing is contingent on performance of other performance obligations or on completion of contractual milestones and is presented as other receivables. Contract assets are transferred to receivables when the rights become unconditional, typically upon invoicing of the related performance obligations in the contract or upon achieving the requisite project milestone. &lt;/div&gt;Contract liabilities primarily relate to the advance consideration received from customers and is presented as deferred revenue. &lt;div style="display: inline; color: black"&gt;Deferred revenue results from customer payments in advance of our satisfaction of the associated performance obligation(s) and relates primarily to prepaid maintenance or other recurring services. Deferred revenues are relieved as revenue is recognized. Contract assets and deferred revenues are reported on a contract-by-contract basis at the end of each reporting period.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
  <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792244">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;19&lt;/div&gt; &amp;#x2013; Contract Balances, Performance Obligations and Contract Costs&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Deferred Revenue&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The following table presents the changes in the deferred revenue balance as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Deferred Revenue&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 87%; text-indent: -0.5in; padding-left: 0.5in"&gt;Balance at January 31, 2019&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;35,091&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Recognition of previously deferred revenue&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(30,580&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Deferral of revenue&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;37,408&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Increases from business combinations, net&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;551&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Effect of movements in foreign exchange&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(407&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-indent: -0.5in; padding-left: 0.5in"&gt;Balance at January 31, 2020&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;42,063&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Recognition of previously deferred revenue&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(37,843&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Deferral of revenue&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;46,386&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Increases from business combinations, net&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;39&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Effect of movements in foreign exchange&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;646&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-bottom: 1pt; text-indent: -15pt; padding-left: 15pt"&gt;Balance at January 31, 2021&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;51,291&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Current&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;49,878&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Long-term&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,413&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Performance Obligations&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$297.6&lt;/div&gt; million of revenue is expected to be recognized in the future related to performance obligations that are unsatisfied (or partially unsatisfied) at the end of the reporting period. We expect to recognize revenue on approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;80%&lt;/div&gt; of these remaining performance obligations over the next &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;24&lt;/div&gt; months with the balance recognized thereafter.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Contract Assets&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;The following table presents the changes in the contract assets balance as follows:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Contract Assets&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="width: 87%; text-indent: -0.5in; padding-left: 0.5in"&gt;Balance at January 31, 2019&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;812&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Transfers to trade receivables from contract assets&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(490&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Increases as a result of delivered term licenses recognized as revenue during the period, net of amounts transferred to trade receivables&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;791&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Effect of movements in foreign exchange&lt;/td&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(6&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-indent: -0.5in; padding-left: 0.5in"&gt;Balance at January 31, 2020&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,107&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Transfers to trade receivables from contract assets&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(563&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Increases as a result of delivered term licenses recognized as revenue during the period, net of amounts transferred to trade receivables&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;783&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; text-align: left"&gt;Effect of movements in foreign exchange&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-bottom: 1pt; text-indent: -15pt; padding-left: 15pt"&gt;Balance at January 31, 2021&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,353&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Contract Costs&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Capitalized contract costs net of accumulated amortization is &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$12.9&lt;/div&gt; million at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021 (&lt;/div&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$9.8&lt;/div&gt; million at &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2020). &lt;/div&gt;Capitalized contract costs are amortized consistent with the pattern of transfer to the customer for the goods and services to which the asset relates. &lt;div style="display: inline; color: black"&gt;The total contract cost amortization included in sales and marketing expenses was approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$3.3&lt;/div&gt; million, &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$2.5&lt;/div&gt; million and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1.8&lt;/div&gt; million for the years ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019,&lt;/div&gt; respectively. &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
  <us-gaap:RevenueRemainingPerformanceObligation contextRef="i_2021-01-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2021-02-01" decimals="-5" id="c71146625" unitRef="iso4217-usd">297600000</us-gaap:RevenueRemainingPerformanceObligation>
  <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 contextRef="i_2021-01-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2021-02-01" id="c71146627">P2Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
  <us-gaap:RevenueRemainingPerformanceObligationPercentage contextRef="i_2021-01-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2021-02-01" decimals="1" id="c71146626" unitRef="xbrli-pure">0.8</us-gaap:RevenueRemainingPerformanceObligationPercentage>
  <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145558" unitRef="iso4217-usd">2337000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
  <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145559" unitRef="iso4217-usd">6439000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
  <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-6">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 74%; text-align: left"&gt;Trade accounts receivable&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;39,536&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;37,121&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Less: Provision for credit losses&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,330&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,003&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;37,206&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;35,118&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
  <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-12">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="text-align: right; border-bottom: Black 1pt solid"&gt;2020&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 74%; text-align: left"&gt;Accrued compensation and benefits&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;24,643&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;20,613&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Accrued professional fees&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,188&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,010&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Other accrued liabilities&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13,048&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13,253&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;38,879&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;34,876&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
  <us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-3">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Peoplevox&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Kontainers&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;ShipTrack&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 61%; text-align: left"&gt;Customer agreements and relationships (years)&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Existing technology (years)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Trade names (years)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;N/A&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Non-compete covenants (years)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Visual Compliance&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;CORE&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;STEPcom&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Best Transport&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 46%; text-align: left"&gt;Customer agreements and relationships (years)&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;14&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;9&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Existing technology (years)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;N/A&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Trade names (years)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Non-compete covenants (years)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Aljex&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Velocity Mail&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;PinPoint&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 61%; text-align: left"&gt;Customer agreements and relationships (years)&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;9&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Existing technology (years)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-family: Times New Roman, Times, Serif; font-size: 10pt"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;N/A&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Trade names (years)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Non-compete covenants (years)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock>
  <us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-2">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Peoplevox&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Kontainers&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;ShipTrack&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Total&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Purchase price consideration:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-indent: -10pt; width: 48%; text-align: left; padding-left: 20pt"&gt;Cash, less cash acquired related to Peoplevox ($1,634), Kontainers (overdraft of $13) and ShipTrack ($529)&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;24,137&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,237&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;19,029&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;48,403&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Consideration payable&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;100&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;100&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Contingent consideration&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,414&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,825&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,239&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Net working capital adjustments (receivable) / payable&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(42&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(218&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;82&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(178&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;24,095&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,533&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21,936&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;52,564&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Allocated to:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Current assets, excluding cash acquired&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;485&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;253&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,846&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,584&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Right-of-use assets&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;151&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;151&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Current liabilities&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(776&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(989&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(668&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,433&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Deferred revenue&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(748&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(102&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(204&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,054&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Lease obligations&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(151&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(151&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Deferred income tax liability&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,615&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(4,012&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(5,627&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 10pt"&gt;Debt&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(728&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(728&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Net tangible assets (liabilities) assumed&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,654&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(838&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(3,766&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(7,258&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Finite life intangible assets acquired:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Customer agreements and relationships&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,631&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;800&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,905&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,336&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Existing technology&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7,651&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,000&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,102&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21,753&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Trade names&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;30&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;77&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;107&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Non-compete covenants&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;285&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;80&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;291&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;656&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;Goodwill&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;15,182&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,461&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10,327&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;28,970&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;24,095&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,533&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21,936&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;52,564&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="font-weight: bold; text-align: right; border-bottom: Black 1pt solid"&gt;Visual Compliance&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="text-align: right; border-bottom: Black 1pt solid"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;CORE&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="text-align: right; border-bottom: Black 1pt solid"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;STEP-com&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="text-align: right; border-bottom: Black 1pt solid"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Best-Transport&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="text-align: right; border-bottom: Black 1pt solid"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Purchase price consideration:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-indent: -10pt; padding-left: 20pt; width: 35%; text-align: left"&gt;Cash, less cash acquired related to Visual Compliance ($170), CORE ($213), STEPcom ($2,700) and BestTransport ($507)&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;239,863&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21,833&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18,639&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,718&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;292,053&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Common shares issued&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;9,045&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;9,045&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Contingent consideration&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,450&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,450&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Net working capital adjustments payable / (receivable)&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,147&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;62&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;250&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,459&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;250,055&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;23,345&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18,889&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,718&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;304,007&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Allocated to:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Current assets, excluding cash acquired&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,403&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;689&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,470&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;815&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;9,377&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Property and equipment&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;30&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,048&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;257&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;35&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,370&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Deferred income tax asset&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;30,924&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;30,924&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Right-of-use assets&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,188&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;68&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;232&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;194&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,682&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Current liabilities&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(840&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(352&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(874&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(284&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,350&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Deferred revenue&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(10,267&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(278&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(813&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(9&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(11,367&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Lease obligations&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,188&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(68&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(232&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(194&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,682&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Deferred income tax liability&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(282&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(3,332&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,316&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,352&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(7,282&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Net tangible assets (liabilities) assumed&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;25,968&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,225&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,276&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(795&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21,672&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Finite life intangible assets acquired:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Customer agreements and relationships&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;32,186&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,600&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10,839&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,000&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;50,625&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Existing technology&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;69,422&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,800&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,800&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;80,022&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Trade names&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;528&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;200&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;102&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;50&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;880&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Non-compete covenants&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,166&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;300&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;205&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;150&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,821&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Goodwill&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;118,785&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12,670&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10,019&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,513&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;146,987&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;250,055&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;23,345&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18,889&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,718&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;304,007&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Aljex&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Velocity Mail&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;PinPoint&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 3pt 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Total&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Purchase price consideration:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 48%; text-align: left; padding-left: 10pt"&gt;Cash, less cash acquired related to Aljex ($193), Velocity Mail (nil) and PinPoint ($769)&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;32,382&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26,107&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;9,443&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;67,932&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Common shares issued&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,536&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,536&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Contingent consideration&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;714&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;714&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Net working capital adjustments (receivable) / payable&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(152&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(102&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;36&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(218&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;32,230&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26,005&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,729&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;69,964&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Allocated to:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Current assets, excluding cash acquired&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;607&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,407&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;599&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,613&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Other long-term assets&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;501&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;501&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Current liabilities&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(266&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(81&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(559&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(906&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Deferred revenue&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,024&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(70&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(574&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,668&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Deferred income tax liability&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(4,200&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,077&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(6,277&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 0pt"&gt;Net tangible (liabilities) assets assumed&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(4,883&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,757&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,611&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(5,737&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Finite life intangible assets acquired:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Customer agreements and relationships&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,300&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7,800&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7,758&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;20,858&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Existing technology&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12,400&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7,600&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;20,000&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt"&gt;Tradenames&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;280&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;100&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;207&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;587&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Non-compete covenants&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;230&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;300&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;69&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;599&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;Goodwill&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18,903&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,448&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,306&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;33,657&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;32,230&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26,005&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,729&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;69,964&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock>
  <us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-34">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 61%; text-align: left"&gt;Trade accounts receivable&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;143&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,733&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(135&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Other accounts receivable&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(7,098&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,547&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(451&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Prepaid expenses and other&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(5,029&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(5,942&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(4,466&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;Inventory&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;99&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(345&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;74&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Accounts payable&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(686&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,768&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,065&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Accrued liabilities&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(999&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,265&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,570&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Income taxes payable&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,835&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,550&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,423&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Operating leases&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;283&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;546&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Deferred revenue&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,877&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(4,184&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,047&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(3,575&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(5,256&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(3,849&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock>
  <us-gaap:ScheduleOfCommonStockOutstandingRollForwardTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-15">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="font-style: italic"&gt;(thousands of shares)&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 61%; text-align: left"&gt;Balance, beginning of year&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;84,156&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;76,865&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;76,773&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt"&gt;Shares issued:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 20pt; text-align: left"&gt;Stock options and share units exercised&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;338&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;95&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;46&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 20pt"&gt;Issuance of common shares&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,900&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 20pt; text-align: left; padding-bottom: 1pt"&gt;Acquisitions (Note 3)&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;296&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;46&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Balance, end of year&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;84,494&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;84,156&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;76,865&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfCommonStockOutstandingRollForwardTableTextBlock>
  <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-26">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Current income tax expense&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; width: 61%"&gt;Canada&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,875&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,020&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,037&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;United States&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(3,050&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,496&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,298&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Other countries&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,921&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;779&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,707&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,746&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,295&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,042&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Deferred income tax expense (recovery)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Canada&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7,047&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,008&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,531&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;United States&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;9,537&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,390&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;67&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Other countries&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,061&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(655&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(407&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;14,523&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,743&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,191&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18,269&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,038&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,233&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
  <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-27">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Assets&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; width: 74%; text-align: left"&gt;Accrued liabilities not currently deductible&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,471&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;14,838&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Accumulated net operating losses&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12,866&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10,579&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Corporate minimum taxes&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,596&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Difference between tax and accounting basis of property and equipment&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;23,754&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;33,929&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Research and development and other tax credits and expenses&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,649&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;756&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Total deferred income tax assets&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;44,336&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;60,102&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;Liabilities&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Difference between tax and accounting basis of intangible assets&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(45,030&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(41,381&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Difference between tax and accounting basis of property and equipment&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Other temporary differences&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,109&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,716&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Total deferred income tax liabilities&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(47,139&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(43,097&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Net deferred income taxes&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,803&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;17,005&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Valuation allowance&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(11,365&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(10,470&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Net deferred income taxes, net of valuation allowance&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(14,168&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,535&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
  <us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-5">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Fair Value of Derivatives Designated as Hedge Instruments&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Fair Value of Derivatives Not Designated As Hedge Instruments&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Fair Value&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Derivative assets:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 49%; text-align: left; padding-bottom: 1pt"&gt;Equity contracts&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 14%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 14%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,001&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 14%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,001&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;Fair Value of Derivatives Designated as Hedge Instruments&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;Fair Value of Derivatives Not Designated As Hedge Instruments&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;Fair Value&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Derivative assets:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 49%; text-align: left; padding-bottom: 1pt"&gt;Equity contracts&lt;/td&gt; &lt;td style="width: 1%; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 14%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 14%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,656&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 14%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,656&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock>
  <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-16">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0"&gt;January 31,&lt;/div&gt; &lt;div style=" margin-top: 0; margin-bottom: 0"&gt;2021&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0"&gt;January 31,&lt;/div&gt; &lt;div style=" margin-top: 0; margin-bottom: 0"&gt;2020&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0"&gt;January 31,&lt;/div&gt; &lt;div style=" margin-top: 0; margin-bottom: 0"&gt;2019&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" margin-top: 0; margin-bottom: 0"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 61%; text-align: left; padding-bottom: 1pt"&gt;Net income for purposes of calculating basic and diluted earnings per share&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;52,100&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;36,997&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;31,277&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;Weighted average shares outstanding&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;84,360&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;81,659&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;76,832&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Dilutive effect of employee stock options&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;358&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;318&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;205&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Dilutive effect of restricted and performance share units&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,038&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;890&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;754&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Weighted average common and common equivalent shares outstanding&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;85,756&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;82,867&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;77,791&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;Earnings per share&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Basic&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.62&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.45&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.41&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; padding-bottom: 1pt"&gt;Diluted&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.61&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.45&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.40&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
  <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-28">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 61%; text-align: left"&gt;Income before income taxes&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;70,369&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;48,033&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;39,510&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Combined basic Canadian statutory rates&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26.5&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;%&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26.5&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;%&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26.5&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;%&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Income tax expense based on the above rates&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18,648&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12,729&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10,470&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Increase (decrease) in income taxes resulting from:&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Permanent differences including amortization of intangible assets&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;875&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(673&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(133&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Effect of differences between Canadian and foreign tax rates&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(600&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(274&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(172&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Effect of rate changes on current year timing differences&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,063&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(609&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(245&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Adjustments relating to previous periods&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,034&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;94&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(973&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Increase (decrease) in accruals for uncertain tax positions&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,289&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,042&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(515&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Valuation allowance&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;254&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;692&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(344&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Stock based compensation&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;100&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;352&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;231&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Other, including foreign exchange&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(200&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(231&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(86&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Income tax expense&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18,269&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,038&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,233&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
  <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-17">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 61%"&gt;Cost of revenues&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;319&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;220&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;160&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Sales and marketing&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;896&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;706&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;436&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Research and development&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;404&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;281&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;184&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;General and administrative&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,694&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,702&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,930&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Effect on net income&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,313&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,909&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,710&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
  <us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-37">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: center; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: center; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="font-weight: normal; text-align: left"&gt;Total long-lived assets&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 74%; text-align: left; padding-left: 7.5pt"&gt;United States&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;92,442&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;114,980&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 7.5pt"&gt;Europe, Middle-East and Africa&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;39,769&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;31,299&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 7.5pt"&gt;Canada&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;107,472&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;111,264&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 7.5pt"&gt;Asia Pacific&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12,398&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13,144&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;252,081&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;270,687&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock>
  <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-10">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Cost&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; width: 74%"&gt;Customer agreements and relationships&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;240,479&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;226,514&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Existing technology&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;295,161&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;262,614&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt"&gt;Trade names&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,844&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,582&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Non-compete covenants&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10,939&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;9,985&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;555,423&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;507,695&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Accumulated amortization&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt"&gt;Customer agreements and relationships&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;119,361&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;98,241&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Existing technology&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;183,539&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;142,757&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt"&gt;Trade names&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,996&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,124&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Non-compete covenants&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,535&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4,617&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;315,431&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;250,739&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Net&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;239,992&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;256,956&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
  <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-25">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="3" style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 61%"&gt;Canada&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;31,307&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;19,557&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16,715&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;United States&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26,072&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;19,962&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,077&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Other countries&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12,990&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,516&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,718&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;70,369&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;48,035&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;39,510&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
  <us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-21">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Number of Stock Options Outstanding&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted-&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Average Grant-Date Fair Value per Share&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 70%"&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;325,218&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6.18&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;367,173&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8.99&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Vested&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(259,269&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6.96&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; padding-bottom: 1pt"&gt;Forfeited&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(23,469&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7.69&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;409,653&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8.03&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;381,859&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10.19&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Vested&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(266,238&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8.19&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; padding-bottom: 1pt"&gt;Forfeited&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(23,619&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.87&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2021&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;501,655&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;9.52&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfNonvestedShareActivityTableTextBlock>
  <us-gaap:ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-32">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 61%; text-align: left"&gt;Acquisition-related costs&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,981&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,457&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,187&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Contingent consideration adjustments&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,946&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;340&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;591&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Restructuring plans&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,300&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;20&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,335&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,797&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3,798&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfOtherOperatingCostAndExpenseByComponentTextBlock>
  <us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-33">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right; text-indent: 1.5pt"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right; text-indent: 1.5pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Workforce&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right; text-indent: 1.5pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Reduction&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right; text-indent: 1.5pt"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Office Closures&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Total&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 61%; text-align: left; padding-left: 10pt"&gt;Accruals and adjustments&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,717&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;583&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,300&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 10pt"&gt;Cash draw downs&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,657&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(583&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(2,240&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 10pt"&gt;Foreign exchange&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2021&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;70&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;70&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRestructuringReserveByTypeOfCostTextBlock>
  <us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-35">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Revenues&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; width: 61%"&gt;United States&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;211,232&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;202,814&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;165,115&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Europe, Middle-East and Africa&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;94,163&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;82,596&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;80,094&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt"&gt;Canada&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;29,388&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;27,304&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18,167&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Asia Pacific&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13,881&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13,077&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,795&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;348,664&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;325,791&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;275,171&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock>
  <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-36">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Revenues&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; width: 61%"&gt;Services&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;309,731&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;284,654&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;241,543&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Professional services and other&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;33,879&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;33,555&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;27,774&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-bottom: 1pt; padding-left: 10pt"&gt;Licenses&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,054&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7,582&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,854&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;348,664&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;325,791&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;275,171&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
  <us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-20">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td colspan="3" style="text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="11" style="border-top: Black 1pt solid; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Options Outstanding&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td colspan="7" style="border-top: Black 1pt solid; font-weight: bold; text-align: center; border-bottom: Black 1pt solid"&gt;Options Exercisable&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td colspan="3" style="font-style: italic; text-align: left"&gt;Range of Exercise Prices&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;Weighted &lt;br /&gt;Average Exercise Price&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;Number of Stock Options&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;Weighted Average Remaining Contractual Life (years)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;Weighted Average Exercise Price&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;Number of Stock Options&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: center; width: 7%; padding-left: 0pt"&gt;$11.32&lt;/td&gt; &lt;td style="text-align: center; padding-left: 0pt; width: 7%"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center; padding-left: 0pt; width: 7%"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$22.34&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 13%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21.06&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 13%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;220,559&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 13%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2.9&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 13%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21.01&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;203,459&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: center; padding-left: 0pt"&gt;$25.65&lt;/td&gt; &lt;td style="text-align: center; padding-left: 0pt"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center; padding-left: 0pt"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$27.23&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;27.22&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;217,381&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.2&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;27.23&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;186,707&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: center; padding-left: 0pt"&gt;$37.66&lt;/td&gt; &lt;td style="text-align: center; padding-left: 0pt"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center; padding-left: 0pt"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$39.30&lt;/div&gt;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;38.09&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;636,869&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5.7&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;37.96&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;255,899&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: center; padding-left: 0pt"&gt;$49.04&lt;/td&gt; &lt;td style="text-align: center; padding-left: 0pt"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;#x2013;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: center; padding-left: 0pt"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$55.04&lt;/div&gt;&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;54.11&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;72,911&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6.7&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td colspan="3" style="text-align: center; padding-bottom: 1pt; padding-left: 12pt"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;33.77&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,147,720&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.9&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;29.52&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;646,065&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock>
  <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-19">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Number of Stock Options Outstanding&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted-&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Average Exercise&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Price&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Weighted- Average Remaining Contractual Life (years)&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Aggregate Intrinsic&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Value&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(in millions)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 40%"&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;879,338&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21.41&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.7&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 12%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8.7&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;367,173&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;38.06&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Exercised&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(94,970&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;)&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;15.62&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; padding-bottom: 1pt"&gt;Forfeited&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(23,719&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;31.93&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,127,822&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26.82&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.6&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;20.2&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;381,859&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;41.51&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Exercised&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(338,342&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18.43&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; padding-bottom: 1pt"&gt;Forfeited&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(23,619&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;33.88&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2021&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,147,720&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;33.77&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.9&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;28.1&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Vested or expected to vest at January 31, 2021&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1,147,720&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;33.77&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.9&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;28.1&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Exercisable at January 31, 2021&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;646,065&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;29.52&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.3&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18.6&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
  <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-18">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31, 2021&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;January 31, 2020&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;January 31, 2019&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Expected dividend yield (%)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="width: 61%; text-align: left"&gt;Expected volatility (%)&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;26.4&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;23.5&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;23.6&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left"&gt;Risk-free rate (%)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;0.7&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1.4&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2.0&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left"&gt;Expected option life (years)&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
  <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-23">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Number of RSUs Outstanding&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted-&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Average Granted Date Fair Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Weighted- Average Remaining Contractual Life (years)&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Aggregate Intrinsic&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Value&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(in millions)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 48%"&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;337,066&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;14.42&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5.6&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;10.6&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; padding-bottom: 1pt"&gt;Granted&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;37,611&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;38.04&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;374,677&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16.57&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5.0&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16.8&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; padding-bottom: 1pt"&gt;Granted&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;57,518&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;43.25&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2021&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;432,195&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;19.98&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.7&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;25.2&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Vested or expected to vest at January 31, 2021&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;432,195&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;19.98&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.7&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;25.2&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Exercisable at January 31, 2021&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;375,845&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16.50&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.1&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21.9&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
  <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-30">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 74%; text-align: left"&gt;Liability, beginning of year&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,650&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7,824&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left"&gt;Gross increases &amp;#x2013; current period&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,502&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;139&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Lapsing due to statutes of limitations&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(759&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;)&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;(1,313&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;)&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Liability, end of year&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;8,393&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,650&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
  <us-gaap:SegmentReportingDisclosureTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792252">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;22&lt;/div&gt; - Segmented Information&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We review our operating results, assess our performance, make decisions about resources, and generate discrete financial information at the single enterprise level. Accordingly, we have determined that we operate in &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;one&lt;/div&gt; reportable business segment providing logistics technology solutions. The following tables provide our disaggregated revenue information by geographic location of customer and revenue type:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td&gt;Revenues&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; width: 61%"&gt;United States&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;211,232&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;202,814&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;165,115&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Europe, Middle-East and Africa&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;94,163&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;82,596&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;80,094&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt"&gt;Canada&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;29,388&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;27,304&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18,167&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Asia Pacific&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13,881&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13,077&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;11,795&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;348,664&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;325,791&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;275,171&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td style="font-style: italic"&gt;Year Ended&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2019&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td&gt;Revenues&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 10pt; width: 61%"&gt;Services&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;309,731&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;284,654&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;241,543&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-left: 10pt"&gt;Professional services and other&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;33,879&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;33,555&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;27,774&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt; padding-left: 10pt"&gt;Licenses&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,054&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;7,582&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5,854&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;348,664&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;325,791&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;275,171&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;License revenues are derived from perpetual licenses granted to our customers to use our software products. Services revenues are comprised of ongoing transactional and/or subscription fees for use of our services and products by our customers and maintenance, which include revenues associated with maintenance and support of our services and products. Professional services and other revenues are comprised of professional services revenues from consulting, implementation and training services related to our services and products, hardware revenues and other revenues.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 41 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The following table provides information by geographic area of operation for our long-lived assets. Long-lived assets represent property and equipment and intangible assets that are attributed to geographic areas.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0"&gt;    &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: center; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;January 31,&lt;/td&gt;  &lt;td style="border-top: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom"&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: center; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;2021&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;2020&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="font-weight: normal; text-align: left"&gt;Total long-lived assets&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="width: 74%; text-align: left; padding-left: 7.5pt"&gt;United States&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;92,442&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;114,980&lt;/div&gt;&lt;/td&gt;  &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-left: 7.5pt"&gt;Europe, Middle-East and Africa&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;39,769&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;31,299&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-left: 7.5pt"&gt;Canada&lt;/td&gt;  &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;107,472&lt;/div&gt;&lt;/td&gt;  &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;111,264&lt;/div&gt;&lt;/td&gt;  &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt;  &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 7.5pt"&gt;Asia Pacific&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12,398&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13,144&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;252,081&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;270,687&lt;/div&gt;&lt;/td&gt;  &lt;td style="border-bottom: Black 2pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;/div&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
  <us-gaap:SellingAndMarketingExpense contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71144937" unitRef="iso4217-usd">38785000</us-gaap:SellingAndMarketingExpense>
  <us-gaap:SellingAndMarketingExpense contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71144938" unitRef="iso4217-usd">40389000</us-gaap:SellingAndMarketingExpense>
  <us-gaap:SellingAndMarketingExpense contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71144939" unitRef="iso4217-usd">36873000</us-gaap:SellingAndMarketingExpense>
  <us-gaap:ShareBasedCompensation contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145073" unitRef="iso4217-usd">6313000</us-gaap:ShareBasedCompensation>
  <us-gaap:ShareBasedCompensation contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145074" unitRef="iso4217-usd">4909000</us-gaap:ShareBasedCompensation>
  <us-gaap:ShareBasedCompensation contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145075" unitRef="iso4217-usd">3710000</us-gaap:ShareBasedCompensation>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-EmployeeStockOptionMember" id="c71146153">P5Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MinimumMember_TitleOfIndividualAxis-DirectorsAndOfficersMember" id="c71146155">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MaximumMember_TitleOfIndividualAxis-DirectorsAndOfficersMember" id="c71146156">P5Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-PerformanceSharesMember" id="c71146157">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" id="c71146160">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c71145736" unitRef="xbrli-shares">53729</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c71145748" unitRef="xbrli-shares">85334</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c71145772" unitRef="xbrli-shares">37611</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c71145780" unitRef="xbrli-shares">57518</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c71145737" unitRef="iso4217-usd-per-xbrli-shares">53.65</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c71145749" unitRef="iso4217-usd-per-xbrli-shares">54.24</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c71145773" unitRef="iso4217-usd-per-xbrli-shares">38.04</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c71145781" unitRef="iso4217-usd-per-xbrli-shares">43.25</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="i_2019-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c71145733" unitRef="iso4217-usd-per-xbrli-shares">18.02</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="i_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c71145745" unitRef="iso4217-usd-per-xbrli-shares">21.19</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="i_2021-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c71145757" unitRef="iso4217-usd-per-xbrli-shares">25.17</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="i_2019-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c71145769" unitRef="iso4217-usd-per-xbrli-shares">14.42</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="i_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c71145777" unitRef="iso4217-usd-per-xbrli-shares">16.57</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="i_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c71145785" unitRef="iso4217-usd-per-xbrli-shares">19.98</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms contextRef="d_2018-02-01_2019-01-31_AwardTypeAxis-PerformanceSharesMember" id="c71145734">P5Y182D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-PerformanceSharesMember" id="c71145746">P5Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-PerformanceSharesMember" id="c71145758">P4Y255D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms contextRef="d_2018-02-01_2019-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" id="c71145770">P5Y219D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" id="c71145778">P5Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" id="c71145786">P4Y255D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="-3" id="c71146564" unitRef="iso4217-usd">1200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-3" id="c71146568" unitRef="iso4217-usd">1400000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="d_2020-02-01_2021-01-31" id="c71145628" unitRef="xbrli-pure" xs:nil="true"/>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="d_2019-02-01_2020-01-31" id="c71145629" unitRef="xbrli-pure" xs:nil="true"/>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="d_2018-02-01_2019-01-31" id="c71145630" unitRef="xbrli-pure" xs:nil="true"/>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="d_2020-02-01_2021-01-31" decimals="3" id="c71145631" unitRef="xbrli-pure">0.264</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="d_2019-02-01_2020-01-31" decimals="3" id="c71145632" unitRef="xbrli-pure">0.235</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="d_2018-02-01_2019-01-31" decimals="3" id="c71145633" unitRef="xbrli-pure">0.236</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="d_2020-02-01_2021-01-31" decimals="3" id="c71145634" unitRef="xbrli-pure">0.007</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="d_2019-02-01_2020-01-31" decimals="3" id="c71145635" unitRef="xbrli-pure">0.014</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="d_2018-02-01_2019-01-31" decimals="3" id="c71145636" unitRef="xbrli-pure">0.02</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber contextRef="i_2019-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c71145732" unitRef="xbrli-shares">530383</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber contextRef="i_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c71145744" unitRef="xbrli-shares">629874</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber contextRef="i_2021-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c71145756" unitRef="xbrli-shares">755873</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber contextRef="i_2019-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c71145768" unitRef="xbrli-shares">337066</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber contextRef="i_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c71145776" unitRef="xbrli-shares">374677</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber contextRef="i_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c71145784" unitRef="xbrli-shares">432195</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant contextRef="i_2021-01-31_AwardTypeAxis-EmployeeStockOptionMember_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c71146541" unitRef="xbrli-shares">3303444</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber contextRef="i_2021-01-31" decimals="INF" id="c71145680" unitRef="xbrli-shares">646065</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice contextRef="i_2021-01-31" decimals="INF" id="c71145681" unitRef="iso4217-usd-per-xbrli-shares">29.52</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71146558" unitRef="iso4217-usd">10800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71146559" unitRef="iso4217-usd">2000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71146560" unitRef="iso4217-usd">800000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c71145652" unitRef="xbrli-shares">23719</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod contextRef="d_2020-02-01_2021-01-31" decimals="INF" id="c71145668" unitRef="xbrli-shares">23619</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="d_2020-02-01_2021-01-31" decimals="INF" id="c71146548" unitRef="xbrli-shares">381859</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c71146549" unitRef="xbrli-shares">367173</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="d_2018-02-01_2019-01-31" decimals="INF" id="c71146550" unitRef="xbrli-shares">272144</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="d_2019-02-01_2020-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c71145716" unitRef="xbrli-shares">367173</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross contextRef="d_2020-02-01_2021-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c71145724" unitRef="xbrli-shares">381859</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2020-02-01_2021-01-31" decimals="INF" id="c71146553" unitRef="iso4217-usd-per-xbrli-shares">10.19</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c71146554" unitRef="iso4217-usd-per-xbrli-shares">8.99</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2018-02-01_2019-01-31" decimals="INF" id="c71146555" unitRef="iso4217-usd-per-xbrli-shares">7.10</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2019-02-01_2020-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c71145717" unitRef="iso4217-usd-per-xbrli-shares">8.99</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="d_2020-02-01_2021-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c71145725" unitRef="iso4217-usd-per-xbrli-shares">10.19</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="i_2019-01-31" decimals="-5" id="c71145643" unitRef="iso4217-usd">8700000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="i_2020-01-31" decimals="-5" id="c71145659" unitRef="iso4217-usd">20200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="i_2021-01-31" decimals="-5" id="c71145675" unitRef="iso4217-usd">28100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="i_2021-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c71146540" unitRef="xbrli-shares">1147720</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="i_2019-01-31" decimals="INF" id="c71145640" unitRef="xbrli-shares">879338</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="i_2020-01-31" decimals="INF" id="c71145656" unitRef="xbrli-shares">1127822</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="i_2021-01-31" decimals="INF" id="c71145672" unitRef="xbrli-shares">1147720</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice contextRef="i_2019-01-31" decimals="INF" id="c71145641" unitRef="iso4217-usd-per-xbrli-shares">21.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice contextRef="i_2020-01-31" decimals="INF" id="c71145657" unitRef="iso4217-usd-per-xbrli-shares">26.82</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice contextRef="i_2021-01-31" decimals="INF" id="c71145673" unitRef="iso4217-usd-per-xbrli-shares">33.77</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber contextRef="i_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c71145788" unitRef="xbrli-shares">432195</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue contextRef="i_2021-01-31" decimals="-5" id="c71145679" unitRef="iso4217-usd">28100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue contextRef="i_2021-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="-5" id="c71145763" unitRef="iso4217-usd">44000000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue contextRef="i_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-5" id="c71145791" unitRef="iso4217-usd">25200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber contextRef="i_2021-01-31" decimals="INF" id="c71145676" unitRef="xbrli-shares">1147720</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber contextRef="i_2021-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c71145760" unitRef="xbrli-shares">755873</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice contextRef="i_2021-01-31" decimals="INF" id="c71145677" unitRef="iso4217-usd-per-xbrli-shares">33.77</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice contextRef="i_2021-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c71145761" unitRef="iso4217-usd-per-xbrli-shares">25.17</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice contextRef="i_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="INF" id="c71145789" unitRef="iso4217-usd-per-xbrli-shares">19.98</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod contextRef="d_2019-02-01_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c71145740" unitRef="xbrli-shares">45762</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="INF" id="c71145752" unitRef="xbrli-shares">40665</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c71145649" unitRef="iso4217-usd-per-xbrli-shares">15.62</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice contextRef="d_2020-02-01_2021-01-31" decimals="INF" id="c71145665" unitRef="iso4217-usd-per-xbrli-shares">18.43</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c71145653" unitRef="iso4217-usd-per-xbrli-shares">31.93</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice contextRef="d_2020-02-01_2021-01-31" decimals="INF" id="c71145669" unitRef="iso4217-usd-per-xbrli-shares">33.88</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c71145645" unitRef="iso4217-usd-per-xbrli-shares">38.06</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice contextRef="d_2020-02-01_2021-01-31" decimals="INF" id="c71145661" unitRef="iso4217-usd-per-xbrli-shares">41.51</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
  <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy contextRef="d_2020-02-01_2021-01-31" id="c71152872">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Stock-based compensation plans&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Stock Options&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We maintain stock option plans for non-employee directors, officers, employees and other service providers. Options to purchase our common shares are granted at an exercise price equal to the fair market value of our common shares as of the date of grant. This fair market value is determined using the closing price of our common shares on the TSX on the day immediately preceding the date of the grant.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Employee stock options generally vest over a &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;five&lt;/div&gt;-year period starting from the grant date and expire &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;seven&lt;/div&gt; years from the grant date. Non-employee directors' and officers' stock options generally have quarterly vesting over a &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;five&lt;/div&gt;-year period. We issue new shares from treasury upon the exercise of a stock option. Forfeitures are accounted for as they occur.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The fair value of employee stock option grants that are ultimately expected to vest are amortized to expense in our consolidated statement of operations based on the straight-line attribution method. The fair value of stock option grants is calculated using the Black-Scholes Merton option-pricing model. Expected volatility is based on historical volatility of our common stock and other factors. The risk-free interest rates are based on Government of Canada average bond yields for a period consistent with the expected life of the option in effect at the time of the grant. The expected option life is based on the historical life of our granted options and other factors.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Performance &amp;amp; Restricted Share Units&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We maintain a performance and restricted share unit plan pursuant to which certain of our officers are eligible to receive grants of performance share units (&amp;#x201c;PSUs&amp;#x201d;) and restricted share units (&amp;#x201c;RSUs&amp;#x201d;).&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;PSUs vest at the end of a &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt;-year performance period. The ultimate number of PSUs that vest is based on the total shareholder return (&amp;#x201c;TSR&amp;#x201d;) of our Company relative to the TSR of companies comprising a peer index group. TSR is calculated based on the weighted-average closing price of shares for the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;five&lt;/div&gt; trading days preceding the beginning and end of the performance period. The fair value of PSUs is expensed to stock-based compensation expense over the vesting period. PSUs expire &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;ten&lt;/div&gt; years from the grant date. New shares are issued from treasury upon the redemption of a PSU.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 12 --&gt; &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;PSUs are measured at fair value estimated using a Monte Carlo Simulation approach. Expected volatility is based on historical volatility of our common stock and other factors. The risk-free interest rates are based on the Government of Canada average bond yields for a period consistent with the expected life of the PSUs at the time of the grant.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;RSUs vest annually over a &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt;-year period starting from the grant date and expire &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;ten&lt;/div&gt; years from the grant date. We issue new shares from treasury upon the redemption of an RSU.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;RSUs are measured at fair value based on the closing price of our common shares for the day preceding the date of the grant and will be expensed to stock-based compensation expense over the vesting period.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Deferred Share Unit Plan&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Our board of directors adopted a deferred share unit plan effective as of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; June 28, 2004, &lt;/div&gt;pursuant to which non-employee directors are eligible to receive grants of deferred share units (&amp;#x201c;DSUs&amp;#x201d;), each of which has an initial value equal to the weighted-average closing price of our common shares for the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;five&lt;/div&gt; trading days preceding the grant date. The plan allows each director to choose to receive, in the form of DSUs, all, &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;none&lt;/div&gt; or a percentage of the eligible director's fees which would otherwise be payable in cash. If a director has invested less than the minimum amount of equity in Descartes, as prescribed from time to time by the board of directors, then the director must take at least &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;50%&lt;/div&gt; of the base annual fee for serving as a director in the form of DSUs. Each DSU fully vests upon award but is distributed only when the director ceases to be a member of the board of directors. Vested units are settled in cash based on our common share price when conversion takes place. Fair value of the liability is based on the closing price of our common shares at the balance sheet date.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Cash-Settled Restricted Share Unit Plan&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Our board of directors adopted a cash-settled restricted share unit plan effective as of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; May 23, 2007, &lt;/div&gt;pursuant to which certain of our employees and non-employee directors are eligible to receive grants of cash-settled restricted share units (&amp;#x201c;CRSUs&amp;#x201d;), each of which has an initial value equal to the weighted-average closing price of our common shares for the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;five&lt;/div&gt; trading days preceding the date of the grant. The CRSUs generally vest based on continued employment and have annual vesting over &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;five&lt;/div&gt;-year periods. Vested units are settled in cash based on our common share price when conversion takes place, which is within &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;30&lt;/div&gt; days following a vesting date and in any event prior to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; December 31&lt;/div&gt;&lt;div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;"&gt;st&lt;/div&gt; of the calendar year in which a vesting date occurs. Fair value of the liability is based on the closing price of our common shares at the balance sheet date.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
  <us-gaap:ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-22">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="text-align: center"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Number of PSUs Outstanding&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Weighted-&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Average Granted Date Fair Value&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Weighted- Average Remaining Contractual Life (years)&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Aggregate Intrinsic&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Value&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;(in millions)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: right"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 48%"&gt;Balance at January 31, 2019&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;530,383&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;18.02&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5.5&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;$&lt;/td&gt; &lt;td style="width: 10%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16.6&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;53,729&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;53.65&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Performance units issued&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;45,762&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;23.24&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;Balance at January 31, 2020&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;629,874&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;21.19&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;5.0&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;$&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;28.2&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-left: 10pt"&gt;Granted&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;85,334&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;54.24&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="padding-left: 10pt; text-align: left; padding-bottom: 1pt"&gt;Performance units issued&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;40,665&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;29.08&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Balance at January 31, 2021&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;755,873&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;25.17&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.7&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;44.0&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt"&gt;Vested or expected to vest at January 31, 2021&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;755,873&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;25.17&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;4.7&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;44.0&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="padding-bottom: 1pt"&gt;Exercisable at January 31, 2021&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;562,459&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;17.21&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3.5&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;$&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;32.8&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationPerformanceSharesAwardOutstandingActivityTableTextBlock>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit contextRef="d_2020-02-01_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range1Member" decimals="INF" id="c71165653" unitRef="iso4217-usd-per-xbrli-shares">11.32</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit contextRef="d_2020-02-01_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range2Member" decimals="INF" id="c71165660" unitRef="iso4217-usd-per-xbrli-shares">25.65</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit contextRef="d_2020-02-01_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range3Member" decimals="INF" id="c71165667" unitRef="iso4217-usd-per-xbrli-shares">37.66</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit contextRef="d_2020-02-01_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range4Member" decimals="INF" id="c71165674" unitRef="iso4217-usd-per-xbrli-shares">49.04</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions contextRef="i_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range1Member" decimals="INF" id="c71165659" unitRef="xbrli-shares">203459</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions contextRef="i_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range2Member" decimals="INF" id="c71165666" unitRef="xbrli-shares">186707</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions contextRef="i_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range3Member" decimals="INF" id="c71165673" unitRef="xbrli-shares">255899</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions contextRef="i_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range4Member" id="c71165680" unitRef="xbrli-shares" xs:nil="true"/>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions contextRef="i_2021-01-31" decimals="INF" id="c71165687" unitRef="xbrli-shares">646065</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions contextRef="i_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range1Member" decimals="INF" id="c71165656" unitRef="xbrli-shares">220559</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions contextRef="i_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range2Member" decimals="INF" id="c71165663" unitRef="xbrli-shares">217381</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions contextRef="i_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range3Member" decimals="INF" id="c71165670" unitRef="xbrli-shares">636869</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions contextRef="i_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range4Member" decimals="INF" id="c71165677" unitRef="xbrli-shares">72911</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions contextRef="i_2021-01-31" decimals="INF" id="c71165684" unitRef="xbrli-shares">1147720</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit contextRef="d_2020-02-01_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range1Member" decimals="INF" id="c71165654" unitRef="iso4217-usd-per-xbrli-shares">22.34</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit contextRef="d_2020-02-01_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range2Member" decimals="INF" id="c71165661" unitRef="iso4217-usd-per-xbrli-shares">27.23</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit contextRef="d_2020-02-01_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range3Member" decimals="INF" id="c71165668" unitRef="iso4217-usd-per-xbrli-shares">39.30</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
  <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit contextRef="d_2020-02-01_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range4Member" decimals="INF" id="c71165675" unitRef="iso4217-usd-per-xbrli-shares">55.04</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding contextRef="i_2019-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="-5" id="c71145735" unitRef="iso4217-usd">16600000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding contextRef="i_2020-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="-5" id="c71145747" unitRef="iso4217-usd">28200000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding contextRef="i_2021-01-31_AwardTypeAxis-PerformanceSharesMember" decimals="-5" id="c71145759" unitRef="iso4217-usd">44000000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding contextRef="i_2019-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-5" id="c71145771" unitRef="iso4217-usd">10600000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding contextRef="i_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-5" id="c71145779" unitRef="iso4217-usd">16800000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding contextRef="i_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" decimals="-5" id="c71145787" unitRef="iso4217-usd">25200000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-EmployeeStockOptionMember" id="c71146154">P7Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-PerformanceSharesMember" id="c71146159">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" id="c71146161">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="d_2020-02-01_2021-01-31" id="c71145637">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="d_2019-02-01_2020-01-31" id="c71145638">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="d_2018-02-01_2019-01-31" id="c71145639">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1 contextRef="i_2021-01-31" decimals="-5" id="c71145683" unitRef="iso4217-usd">18600000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 contextRef="d_2020-02-01_2021-01-31" id="c71145682">P4Y109D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares contextRef="i_2019-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c71145714" unitRef="xbrli-shares">325218</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares contextRef="i_2020-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c71145722" unitRef="xbrli-shares">409653</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares contextRef="i_2021-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c71145730" unitRef="xbrli-shares">501655</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedNumberOfShares>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares contextRef="d_2019-02-01_2020-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c71145720" unitRef="xbrli-shares">23469</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares contextRef="d_2020-02-01_2021-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c71145728" unitRef="xbrli-shares">23619</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedNumberOfShares>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue contextRef="d_2019-02-01_2020-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c71145721" unitRef="iso4217-usd-per-xbrli-shares">7.69</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue contextRef="d_2020-02-01_2021-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c71145729" unitRef="iso4217-usd-per-xbrli-shares">4.87</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedOptionsForfeitedWeightedAverageGrantDateFairValue>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="i_2019-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c71145715" unitRef="iso4217-usd-per-xbrli-shares">6.18</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="i_2020-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c71145723" unitRef="iso4217-usd-per-xbrli-shares">8.03</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="i_2021-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c71145731" unitRef="iso4217-usd-per-xbrli-shares">9.52</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="d_2018-02-01_2019-01-31" id="c71145642">P4Y255D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="d_2019-02-01_2020-01-31" id="c71145658">P4Y219D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="d_2020-02-01_2021-01-31" id="c71145674">P4Y328D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1 contextRef="d_2020-02-01_2021-01-31" id="c71145678">P4Y328D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1 contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-PerformanceSharesMember" id="c71145762">P4Y255D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1 contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember" id="c71145790">P4Y255D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1 contextRef="d_2020-02-01_2021-01-31_AwardTypeAxis-EmployeeStockOptionMember" decimals="-3" id="c71146545" unitRef="iso4217-usd">2300000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares contextRef="d_2019-02-01_2020-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c71145718" unitRef="xbrli-shares">259269</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares contextRef="d_2020-02-01_2021-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c71145726" unitRef="xbrli-shares">266238</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedNumberOfShares>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue contextRef="d_2019-02-01_2020-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c71145719" unitRef="iso4217-usd-per-xbrli-shares">6.96</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue>
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue contextRef="d_2020-02-01_2021-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember" decimals="INF" id="c71145727" unitRef="iso4217-usd-per-xbrli-shares">8.19</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedWeightedAverageGrantDateFairValue>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1 contextRef="i_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range1Member" decimals="INF" id="c71165658" unitRef="iso4217-usd-per-xbrli-shares">21.01</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1 contextRef="i_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range2Member" decimals="INF" id="c71165665" unitRef="iso4217-usd-per-xbrli-shares">27.23</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1 contextRef="i_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range3Member" decimals="INF" id="c71165672" unitRef="iso4217-usd-per-xbrli-shares">37.96</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1 contextRef="i_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range4Member" id="c71165679" unitRef="iso4217-usd-per-xbrli-shares" xs:nil="true"/>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1 contextRef="i_2021-01-31" decimals="INF" id="c71165686" unitRef="iso4217-usd-per-xbrli-shares">29.52</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1 contextRef="i_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range1Member" decimals="INF" id="c71165655" unitRef="iso4217-usd-per-xbrli-shares">21.06</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1 contextRef="i_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range2Member" decimals="INF" id="c71165662" unitRef="iso4217-usd-per-xbrli-shares">27.22</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1 contextRef="i_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range3Member" decimals="INF" id="c71165669" unitRef="iso4217-usd-per-xbrli-shares">38.09</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1 contextRef="i_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range4Member" decimals="INF" id="c71165676" unitRef="iso4217-usd-per-xbrli-shares">54.11</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1 contextRef="i_2021-01-31" decimals="INF" id="c71165683" unitRef="iso4217-usd-per-xbrli-shares">33.77</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2 contextRef="d_2020-02-01_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range1Member" id="c71165657">P2Y328D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2 contextRef="d_2020-02-01_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range2Member" id="c71165664">P4Y73D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2 contextRef="d_2020-02-01_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range3Member" id="c71165671">P5Y255D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2 contextRef="d_2020-02-01_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range4Member" id="c71165678">P6Y255D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
  <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2 contextRef="d_2020-02-01_2021-01-31" id="c71165685">P4Y328D</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageRemainingContractualTerm2>
  <us-gaap:SharesIssuedPricePerShare contextRef="i_2019-06-10" decimals="INF" id="c71146494" unitRef="iso4217-usd-per-xbrli-shares">35.50</us-gaap:SharesIssuedPricePerShare>
  <us-gaap:ShortTermLeaseCost contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145552" unitRef="iso4217-usd">502000</us-gaap:ShortTermLeaseCost>
  <us-gaap:ShortTermLeaseCost contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145553" unitRef="iso4217-usd">866000</us-gaap:ShortTermLeaseCost>
  <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792190">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2&lt;/div&gt; &amp;#x2013;Basis of Presentation&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The accompanying consolidated financial statements are presented in United States (&amp;#x201c;US&amp;#x201d;) dollars and are prepared in accordance with generally accepted accounting principles in the US (&amp;#x201c;GAAP&amp;#x201d;) and the rules and regulations of the Canadian Securities Administrators and the US Securities and Exchange Commission (&amp;#x201c;SEC&amp;#x201d;) for the preparation of consolidated financial statements.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The world continues to experience a global pandemic related to the spread of the COVID-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;19&lt;/div&gt; virus (the &amp;#x201c;Pandemic&amp;#x201d;). The Pandemic has had disruptive effects in countries in which the Company operates, and the future impacts of the Pandemic and any resulting economic impact are largely unknown and rapidly evolving. As the impacts of the Pandemic continue to evolve, estimates and assumptions about future events and their effects cannot be determined with certainty and therefore require increased judgment. The future impact of Pandemic uncertainties could result in a significant impact on the reported amounts of assets, liabilities, revenue and expenses in these and any future consolidated financial statements. Examples of accounting estimates and judgments that &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;be impacted by the Pandemic include, but are &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; limited to; revenue recognition, impairment of goodwill and intangible assets and provisions for credit losses.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Our fiscal year commences on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1&lt;/div&gt;&lt;div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;"&gt;st&lt;/div&gt; of each year and ends on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31&lt;/div&gt;&lt;div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;"&gt;st&lt;/div&gt; of the following year. Our fiscal year, which ends on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;is referred to as the &amp;#x201c;current fiscal year&amp;#x201d;, &amp;#x201c;fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&amp;#x201d;,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;#x201c;2021&amp;#x201d;&lt;/div&gt; or using similar words. Our previous fiscal year, which ended on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2020, &lt;/div&gt;is referred to as the &amp;#x201c;previous fiscal year&amp;#x201d;, &amp;#x201c;fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&amp;#x201d;,&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;#x201c;2020&amp;#x201d;&lt;/div&gt; or using similar words. Other fiscal years are referenced by the applicable year during which the fiscal year ends. For example, &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&amp;#x201c;2022&amp;#x201d;&lt;/div&gt; refers to the annual period ending &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2022 &lt;/div&gt;and the &amp;#x201c;fourth quarter of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2022&amp;#x201d;&lt;/div&gt; refers to the quarter ending &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2022.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Basis of consolidation&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The consolidated financial statements include the financial statements of Descartes and our wholly-owned subsidiaries. We do &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; have any variable interests in variable interest entities. All intercompany accounts and transactions have been eliminated during consolidation.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 6 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Foreign currency translation&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The US dollar is the presentation currency of the Company. Assets and liabilities of our subsidiaries are translated into US dollars at the exchange rate in effect at the balance sheet date. Revenues and expenses are translated into US dollars using daily exchange rates. Translation adjustments resulting from this process are accumulated in other comprehensive income (loss) as a separate component of shareholders' equity. On substantial liquidation of a foreign operation, the component of accumulated other comprehensive income relating to that particular foreign operation is recognized in the consolidated statements of operations.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The functional currency of each of our entities is generally the local currency in which they operate. Transactions incurred in currencies other than the local currency of an entity are converted to the local currency at the transaction date. Monetary assets and liabilities denominated in foreign currencies are re-measured into the local currency at the exchange rate in effect at the balance sheet date. All foreign currency re-measurement gains and losses are included in net income. For the year ended &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2021, &lt;/div&gt;foreign currency re-measurement loss of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.8&lt;/div&gt; million was included in net income (&lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2020 &amp;#x2013; &lt;/div&gt;loss of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.6&lt;/div&gt; million; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 31, 2019 &amp;#x2013; &lt;/div&gt;loss of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.4&lt;/div&gt; million).&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Use of estimates&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Preparing financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the amounts that are reported in the consolidated financial statements and accompanying note disclosures. Although these estimates and assumptions are based on management's best knowledge of current events, actual results &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;be different from the estimates. These estimates, judgments and assumptions are evaluated on an ongoing basis. We base our estimates on historical experience and on various other assumptions that we believe are reasonable at that time, the results of which form the basis for making judgments about the carrying values of assets and liabilities that are &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; readily apparent from other sources.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Estimates and assumptions are used when accounting for items such as allocations of the purchase price and the fair value of net assets acquired in business combination transactions, useful lives of intangible assets and property and equipment, revenue related estimates including determining the nature and timing of satisfaction of performance obligations, variable consideration, and other obligations such as product returns and refunds, allowance for doubtful accounts, collectability of other receivables, provisions for excess or obsolete inventory, determining the Company's incremental borrowing rate, restructuring accruals, fair value of stock-based compensation, assumptions embodied in the valuation of assets for impairment assessment, accounting for income taxes, valuation allowances for deferred income tax assets, realization of investment tax credits, uncertain tax positions and recognition of contingencies. Significant assumptions and judgment are used when determining the standalone selling price (&amp;#x201c;SSP&amp;#x201d;) of performance obligations in contracts with customers.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Cash&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Cash included highly liquid short-term deposits with original maturities of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt; months or less.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Financial instruments&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Fair value of financial instruments&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The carrying amounts of the Company's cash, accounts receivable (net), accounts payable, accrued liabilities and income taxes payable approximate their fair value due to their short maturities.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 7 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Derivative instruments&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We use derivative instruments to manage equity risk relating to our share-based compensation. We account for these instruments in accordance with ASC Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;815&lt;/div&gt; &amp;#x201c;Derivatives and Hedging&amp;#x201d; (Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;815&lt;/div&gt;), which requires that every derivative instrument be recorded on the balance sheet as either an asset or a liability measured at its fair value as of the reporting date. We do &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; designate our derivative instruments as hedges and as such the changes in our derivative financial instruments' fair values are recognized in earnings. The fair value of equity contract derivatives is determined utilizing a valuation model based on the quoted market value of our common shares at the balance sheet date.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Foreign exchange risk&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We are exposed to foreign exchange risk because the Company transacts business in currencies other than the US dollar. Accordingly, our results are affected, and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;be affected in the future, by exchange rate fluctuations of the US dollar relative to the Canadian dollar, euro, British pound sterling and various other foreign currencies.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Interest rate risk&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Depending on the type of advance under the available facilities, interest on such borrowings will be charged based on either i) Canada or US prime rate; or ii) Banker's Acceptance (BA); or iii) LIBOR. We are exposed to interest rate fluctuations to the extent that we borrow on our credit facility.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Credit risk&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We are exposed to credit risk through our invested cash and accounts receivable. We hold our cash with reputable financial institutions. The lack of concentration of accounts receivable from a single customer and the dispersion of customers among industries and geographical locations mitigate our credit risk.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We do &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; use any type of speculative financial instruments, including but &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; limited to foreign exchange contracts, futures, swaps and option agreements, to manage our foreign exchange or interest rate risks. In addition, we do &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; hold or issue financial instruments for trading purposes.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Equity risk&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We are exposed to equity risk through certain share-based compensation expenses that are fair valued at the balance sheet date. The Company enters into equity derivative contracts including floating-rate equity forwards to partially offset the potential fluctuations of certain future share-based compensation expenses. The Company does &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; hold derivatives for speculative purposes.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Provision for Credit Losses&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We are exposed to credit losses primarily through our trade accounts receivable and contract assets. The provision for credit losses is determined utilizing a model of historical losses data. In estimating the provision for credit losses, we considered the age of the receivable, our historical write-offs and the historical creditworthiness of the customer, among other factors. Should any of these factors change, the estimates made by us will also change accordingly, which could affect the level of our future provisions.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Inventory&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Finished goods inventories are stated at the lower of cost and net realizable value. The cost of finished goods is determined on the basis of average cost of units.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The valuation of inventory, including the determination of obsolete or excess inventory, requires management to estimate the future demand for our products within specified time horizons. We perform an assessment of inventory which includes a review of, among other factors, demand requirements, product life cycle and development plans, product pricing and quality issues. If the demand for our products indicates we are &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; longer able to sell inventories above cost or at all, we write down inventory to market or excess inventory is written off.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 8 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Impairment of long-lived assets&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We test long-lived assets or asset groups, such as property and equipment and finite life intangible assets, for recoverability when events or changes in circumstances indicate that there &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;be impairment. Circumstances which could trigger a review include, but are &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; limited to: significant adverse changes in the business climate or legal factors; current period cash flow or operating losses combined with a history of losses or a forecast of continuing losses associated with the use of the asset or asset group; and a current expectation that the asset or asset group will more likely than &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; be sold or disposed of before the end of its estimated useful life. An impairment loss is recognized when the estimate of undiscounted future cash flows generated by such asset or asset group is less than the carrying amount. Measurement of the impairment loss is based on the present value of the expected future cash flows. &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;No&lt;/div&gt; impairment of long-lived assets has been identified or recorded in our consolidated statements of operations for any of the fiscal years presented.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Goodwill and intangible assets&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Goodwill represents the excess of the purchase price in a business combination over the fair value of net tangible and intangible assets acquired. Goodwill is &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; subject to amortization.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We test for impairment of goodwill at least annually on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; October 31&lt;/div&gt;&lt;div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;"&gt;st&lt;/div&gt; of each year and at any other time if any event occurs or circumstances change that would more likely than &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; reduce our fair value below our reporting unit's carrying amount. Our operations are analyzed by management and our chief operating decision maker as being part of a single industry segment providing logistics technology solutions. Accordingly, our goodwill impairment assessment is based on the allocation of goodwill to a single reporting unit. We completed the qualitative assessment during our &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;third&lt;/div&gt; quarter of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&lt;/div&gt; and concluded that it was more likely than &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; that the fair value of the goodwill was greater than the carrying value. As a result, &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; impairment of goodwill was recorded in fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&lt;/div&gt; (&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt;&lt;/div&gt; impairments were recorded for fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; or fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt;).&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Intangible assets related to our acquisitions are recorded at their fair value at the acquisition date. Intangible assets include customer agreements and relationships, non-compete covenants, existing technologies and trade names. Intangible assets are amortized on a straight-line basis over their estimated useful lives. We write down intangible asset or asset groups with a finite life to fair value when the related undiscounted cash flows are &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; expected to allow for recovery of the carrying value. Fair value of intangible asset or asset groups is determined by discounting the expected related future cash flows.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Amortization of our intangible assets is generally recorded at the following rates:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0" align="center"&gt;    &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="width: 50%; text-align: left"&gt;Customer agreements and relationships&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 49%; text-align: left"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;twenty&lt;/div&gt; years&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Existing technologies&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;two&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;twelve&lt;/div&gt; years&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Trade names&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;one&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;fifteen&lt;/div&gt; years&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Non-compete covenants&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;two&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;twelve&lt;/div&gt; years&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Property and equipment&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Property and equipment is recorded at cost.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Effective &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2020, &lt;/div&gt;we changed our accounting method for property &amp;amp; equipment from the declining balance method of depreciation to the straight-line method of depreciation to better reflect the consumption of the assets' economic benefits. Our change in the method of depreciation is considered a change in accounting estimate effected by a change in accounting principle and has been applied prospectively. The change in the method of depreciation did &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; have a material impact on our results of operations.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Depreciation of our property and equipment is generally recorded at the following rates:&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-width: 700px;" cellspacing="0" cellpadding="0" align="center"&gt;    &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="width: 50%; text-align: left"&gt;Computer equipment and software&lt;/td&gt;  &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="width: 49%; text-align: left"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;1&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13&lt;/div&gt; years&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Furniture and fixtures&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;14&lt;/div&gt; years&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Leasehold improvements&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;Straight-line over lesser of useful life or term of lease&lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="vertical-align: bottom; background-color: White"&gt;  &lt;td style="text-align: left"&gt;Equipment installed with customers&lt;/td&gt;  &lt;td&gt;&amp;nbsp;&lt;/td&gt;  &lt;td style="text-align: left"&gt;Straight-line over &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3&lt;/div&gt; years&lt;/td&gt;  &lt;/tr&gt;    &lt;/table&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 9 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Fully depreciated property and equipment are removed from the balance sheet when they are &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; longer in use.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Leases&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;At the inception of a contract we assess whether a contract is, or contains, a lease based on whether the contract conveys the right to control the use of an identified asset for a period of time in exchange for consideration. We have building lease agreements with lease and non-lease components, which are accounted for separately. For computer equipment and vehicle leases, we have elected to account for the lease and non-lease components as a single lease component.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We recognize a right-of-use (&amp;#x201c;ROU&amp;#x201d;) asset and a lease liability at the lease commencement date. The ROU asset is initially measured based on the initial amount of the lease liability adjusted for any lease payments made at or before the commencement date, plus any initial direct costs incurred and less any lease incentives received. The assets are depreciated to the earlier of the end of the useful life of the ROU asset or the lease term using the straight-line method as this most closely reflects the expected pattern of consumption of the future economic benefits. The lease term includes periods covered by an option to extend if the Company is reasonably certain to exercise that option.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The lease liability is initially measured at the present value of the future lease payments at the commencement date, discounted using the interest rate implicit in the lease or, if that rate cannot be readily determined, the Company's incremental borrowing rate. As most of our leases do &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The lease liability is measured at amortized cost using the effective interest method. It is remeasured when there is a change in future lease payments arising from a change in an index or rate, if there is a change in the Company's estimate of the amount expected to be payable under a residual value guarantee, or if the Company changes its assessment of whether it will exercise a purchase, extension or termination option. When the lease liability is remeasured, a corresponding adjustment is made to the carrying amount of the ROU asset, or is recorded in profit or loss if the carrying amount of the ROU asset has been reduced to zero.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We have elected to apply the practical expedient &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; to recognize ROU assets and lease liabilities for short-term leases that have a lease term of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12&lt;/div&gt; months or less. The lease payments associated with these leases is recognized as an expense on a straight-line basis over the lease term.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Revenue recognition&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Revenue is recognized upon transfer of control of promised goods or services to customers in an amount that reflects the consideration we expect to receive in exchange for those goods or services. We enter into contracts that can include the delivery of various combinations of goods and/or services, which are generally capable of being distinct within the context of the contract and accounted for as separate performance obligations. A product or service is distinct if the customer can benefit from it on its own or together with other readily available resources and the promise to transfer the good or service is separately identifiable from other promises in the contractual arrangement with the customer. Non-distinct goods and services are combined with other goods or services until they are distinct as a bundle and therefore form a single performance obligation. The accounting for a contract with a customer that contains multiple performance obligations requires an allocation of the transaction price to each distinct performance obligation based on the determination of the SSP. SSP for each distinct performance obligation in a customer contract is an estimate of the price that would be charged for the specific good or service if it was sold separately in similar circumstances and to similar customers. This estimate determines the amount of revenue recognized for each performance obligation in a customer contract.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 10 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities. In addition to these general policies, the specific revenue recognition policies for each major category of revenue are included below.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;License&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Revenues for distinct licenses for on-premise or hosted software are derived from perpetual licenses granted to our customers for the right to use our software products. License revenues are billed on the effective date of a contract and revenue is recognized at the point in time when the customer is provided control of the respective software.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Services&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Services, which allow customers to access hosted software over a contract term without taking possession of the software, is provided on a subscription and/or transactional fee basis. Revenues from hosted software subscriptions and maintenance are typically billed annually in advance and revenue is recognized on a ratable basis over the contract term beginning on the date that our service is made available to the customer. Transaction fees are typically billed and recognized as revenue on a monthly basis based on the customer usage for that period.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Professional Services &amp;amp; Other&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Professional services are comprised of consulting, implementation and training services related to our services and products. These services are generally considered to be separate performance obligations as they provide incremental benefit to customers beyond providing access to the software. Professional services are typically billed on a time and materials basis and revenue is recognized over time as the services are performed. For professional services contracts billed on a fixed price basis, revenue is recognized over time based on the proportion of services performed. Revenue related to customer reimbursement of travel related expenses is recognized on a gross basis as incurred. Other revenues include hardware revenue and is generally billed, and revenue is recognized, when control of the product has transferred under the terms of an enforceable contract.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Our contracts with customers often include promises to transfer multiple goods and services to a customer. Determining whether goods and services are considered distinct performance obligations that should be accounted for separately versus together &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;require judgment. Judgment is also needed in assessing the ability to collect the corresponding receivables.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Significant assumptions and judgment are required to determine the SSP for each distinct performance obligation, which is needed to determine whether there is a discount that needs to be allocated based on the relative SSP of the various goods and services. When estimating the SSP, we make certain significant assumptions including the basis for stratification of the underlying population of customer contracts based on pricing practices for different goods or services, as appropriate. In order to determine the SSP of its promised goods or services, we conduct a regular analysis to determine whether various goods or services have an observable standalone selling price. If the Company does &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; have an observable SSP for a particular good or service, then SSP for that particular good or service is estimated using reasonably available information and maximizing observable inputs with approaches including historical pricing, cost plus a margin, and the residual approach.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Costs to obtain a contract with a customer&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We recognize an asset for the incremental costs of obtaining a contract with a customer if we expect the costs to be recoverable. We have determined that certain sales incentive programs meet the requirements to be capitalized. These capitalized costs are amortized consistent with the pattern of transfer to the customer for the goods and services to which the asset relates, including specifically identifiable contract renewals. The period of benefit including renewals is determined to be generally between &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;four&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;six&lt;/div&gt; years, taking into consideration our customer contracts, our technology, renewal behaviors and other factors. Amortization of the asset is included in sales and marketing expenses in the consolidated statements of operations. Applying the practical expedient, we recognize the incremental costs of obtaining contracts as an expense when incurred if the amortization period of the assets that we otherwise would have recognized is &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;one&lt;/div&gt; year or less.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 11 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Contract assets and liabilities&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; color: black"&gt;The payment terms and conditions in our customer contracts &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;vary from the timing of revenue recognition. In some cases, customers pay in advance of delivery of products or services; in other cases, payment is due as services are performed or in arrears following delivery. Timing differences between revenue recognition and invoicing result in unbilled receivables, contract assets, or deferred revenue. Receivables are accrued when revenue is recognized prior to invoicing but the right to payment is unconditional (i.e., only the passage of time is required). This occurs most commonly when software term licenses recognized at a point in time are paid for periodically over the license term. Contract assets result when amounts allocated to distinct performance obligations are recognized when or as control of a product or service is transferred to the customer, but invoicing is contingent on performance of other performance obligations or on completion of contractual milestones and is presented as other receivables. Contract assets are transferred to receivables when the rights become unconditional, typically upon invoicing of the related performance obligations in the contract or upon achieving the requisite project milestone. &lt;/div&gt;Contract liabilities primarily relate to the advance consideration received from customers and is presented as deferred revenue. &lt;div style="display: inline; color: black"&gt;Deferred revenue results from customer payments in advance of our satisfaction of the associated performance obligation(s) and relates primarily to prepaid maintenance or other recurring services. Deferred revenues are relieved as revenue is recognized. Contract assets and deferred revenues are reported on a contract-by-contract basis at the end of each reporting period.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Research and development costs&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;To date, we have &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; capitalized any costs related to research and development of our computer software products. Costs incurred between the dates that the product is considered to be technologically feasible and is considered to be ready for general release to customers have historically been expensed as they have &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; been significant.&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Stock-based compensation plans&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Stock Options&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We maintain stock option plans for non-employee directors, officers, employees and other service providers. Options to purchase our common shares are granted at an exercise price equal to the fair market value of our common shares as of the date of grant. This fair market value is determined using the closing price of our common shares on the TSX on the day immediately preceding the date of the grant.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Employee stock options generally vest over a &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;five&lt;/div&gt;-year period starting from the grant date and expire &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;seven&lt;/div&gt; years from the grant date. Non-employee directors' and officers' stock options generally have quarterly vesting over a &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;five&lt;/div&gt;-year period. We issue new shares from treasury upon the exercise of a stock option. Forfeitures are accounted for as they occur.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The fair value of employee stock option grants that are ultimately expected to vest are amortized to expense in our consolidated statement of operations based on the straight-line attribution method. The fair value of stock option grants is calculated using the Black-Scholes Merton option-pricing model. Expected volatility is based on historical volatility of our common stock and other factors. The risk-free interest rates are based on Government of Canada average bond yields for a period consistent with the expected life of the option in effect at the time of the grant. The expected option life is based on the historical life of our granted options and other factors.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Performance &amp;amp; Restricted Share Units&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We maintain a performance and restricted share unit plan pursuant to which certain of our officers are eligible to receive grants of performance share units (&amp;#x201c;PSUs&amp;#x201d;) and restricted share units (&amp;#x201c;RSUs&amp;#x201d;).&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;PSUs vest at the end of a &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt;-year performance period. The ultimate number of PSUs that vest is based on the total shareholder return (&amp;#x201c;TSR&amp;#x201d;) of our Company relative to the TSR of companies comprising a peer index group. TSR is calculated based on the weighted-average closing price of shares for the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;five&lt;/div&gt; trading days preceding the beginning and end of the performance period. The fair value of PSUs is expensed to stock-based compensation expense over the vesting period. PSUs expire &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;ten&lt;/div&gt; years from the grant date. New shares are issued from treasury upon the redemption of a PSU.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 12 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;PSUs are measured at fair value estimated using a Monte Carlo Simulation approach. Expected volatility is based on historical volatility of our common stock and other factors. The risk-free interest rates are based on the Government of Canada average bond yields for a period consistent with the expected life of the PSUs at the time of the grant.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;RSUs vest annually over a &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt;-year period starting from the grant date and expire &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;ten&lt;/div&gt; years from the grant date. We issue new shares from treasury upon the redemption of an RSU.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;RSUs are measured at fair value based on the closing price of our common shares for the day preceding the date of the grant and will be expensed to stock-based compensation expense over the vesting period.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Deferred Share Unit Plan&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Our board of directors adopted a deferred share unit plan effective as of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; June 28, 2004, &lt;/div&gt;pursuant to which non-employee directors are eligible to receive grants of deferred share units (&amp;#x201c;DSUs&amp;#x201d;), each of which has an initial value equal to the weighted-average closing price of our common shares for the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;five&lt;/div&gt; trading days preceding the grant date. The plan allows each director to choose to receive, in the form of DSUs, all, &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;none&lt;/div&gt; or a percentage of the eligible director's fees which would otherwise be payable in cash. If a director has invested less than the minimum amount of equity in Descartes, as prescribed from time to time by the board of directors, then the director must take at least &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;50%&lt;/div&gt; of the base annual fee for serving as a director in the form of DSUs. Each DSU fully vests upon award but is distributed only when the director ceases to be a member of the board of directors. Vested units are settled in cash based on our common share price when conversion takes place. Fair value of the liability is based on the closing price of our common shares at the balance sheet date.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Cash-Settled Restricted Share Unit Plan&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Our board of directors adopted a cash-settled restricted share unit plan effective as of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; May 23, 2007, &lt;/div&gt;pursuant to which certain of our employees and non-employee directors are eligible to receive grants of cash-settled restricted share units (&amp;#x201c;CRSUs&amp;#x201d;), each of which has an initial value equal to the weighted-average closing price of our common shares for the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;five&lt;/div&gt; trading days preceding the date of the grant. The CRSUs generally vest based on continued employment and have annual vesting over &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;three&lt;/div&gt; to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;five&lt;/div&gt;-year periods. Vested units are settled in cash based on our common share price when conversion takes place, which is within &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;30&lt;/div&gt; days following a vesting date and in any event prior to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; December 31&lt;/div&gt;&lt;div style="display: inline; bottom:.33em; font-size: 82%; position: relative; vertical-align: baseline;"&gt;st&lt;/div&gt; of the calendar year in which a vesting date occurs. Fair value of the liability is based on the closing price of our common shares at the balance sheet date.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Business combinations&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We apply the provisions of ASC Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;805,&lt;/div&gt; &amp;#x201c;Business Combinations&amp;#x201d; (Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;805&lt;/div&gt;), in the accounting for our acquisitions. It requires us to recognize separately from goodwill, the assets acquired and the liabilities assumed at their acquisition date fair values including certain identifiable intangible assets (other than goodwill). Goodwill as of the acquisition date is measured as the excess of consideration transferred over the net of the acquisition date fair values of the assets acquired and the liabilities assumed. The determination of the acquisition date fair value of the intangible assets acquired required us to make estimates and assumptions regarding projected revenues, earnings before interest, taxes, depreciation and amortization, technology migration rates, customer attrition rates and discount rates.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;While we use our best estimates and assumptions to accurately value assets acquired and liabilities assumed at the acquisition date as well as contingent consideration, where applicable, our estimates are inherently uncertain and subject to refinement. As a result, during the measurement period, which &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;be up to &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;one&lt;/div&gt; year from the acquisition date, we &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;record adjustments to the assets acquired and liabilities assumed with the corresponding offset to goodwill. Upon the conclusion of the measurement period or final determination of the values of assets acquired or liabilities assumed, whichever comes first, any subsequent adjustments would be recorded to our consolidated statement of operations.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 13 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Costs to exit or restructure certain activities of an acquired company or our internal operations are accounted for as termination and exit costs pursuant to ASC Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;420,&lt;/div&gt; &amp;#x201c;Exit or Disposal Cost Obligations&amp;#x201d; (Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;420&lt;/div&gt;) and are accounted for separately from the business combination.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;For a given acquisition, we generally identify certain pre-acquisition contingencies as of the acquisition date and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;extend our review and evaluation of these pre-acquisition contingencies throughout the measurement period in order to obtain sufficient information to assess whether we include these contingencies as a part of the purchase price allocation and, if so, to determine the estimated amounts.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;If we determine that a pre-acquisition contingency (non-income tax related) is probable in nature and estimable as of the acquisition date, we record our best estimate for such a contingency as a part of the preliminary purchase price allocation. We often continue to gather information and evaluate our pre-acquisition contingencies throughout the measurement period and if we make changes to the amounts recorded or if we identify additional pre-acquisition contingencies during the measurement period, such amounts will be included in the purchase price allocation during the measurement period and, subsequently, in our results of operations.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Uncertain tax positions and tax related valuation allowances assumed in connection with a business combination are initially estimated as of the acquisition date. We review these items during the measurement period as we continue to actively seek and collect information relating to facts and circumstances that existed at the acquisition date. Changes to these uncertain tax positions and tax related valuation allowances made subsequent to the measurement period, or if they relate to facts and circumstances that did &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; exist at the acquisition date, are recorded in our provision for income taxes in our consolidated statement of operations.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Income taxes&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We use the liability method of income tax allocation to account for income taxes. Deferred tax assets and liabilities arise from temporary differences between the tax bases of assets and liabilities and their reported amounts in the consolidated financial statements that will result in taxable or deductible amounts in future years. These temporary differences are measured using enacted tax rates. A valuation allowance is recorded to reduce deferred tax assets to the extent that we consider it is more likely than &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; that a deferred tax asset will &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; be realized. In determining the valuation allowance, we consider factors such as the reversal of deferred income tax liabilities, projected taxable income, our history of losses for tax purposes, and the character of income tax assets and tax planning strategies. A change to these factors could impact the estimated valuation allowance and income tax expense.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;We evaluate our uncertain tax positions by using a &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;two&lt;/div&gt;-step approach to recognize and measure uncertain tax positions and provisions for income taxes.&amp;nbsp;The &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;first&lt;/div&gt; step is to evaluate the tax position for recognition by determining if the weight of available evidence indicates it is more likely than &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not,&lt;/div&gt; based solely on the technical merits, that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any. The &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;second&lt;/div&gt; step is to measure the appropriate amount of the benefit to recognize. The amount of benefit to recognize is measured as the maximum amount which is more likely than &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; to be realized. The tax position is derecognized when it is &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; longer more likely than &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; that the position will be sustained on audit. We continually assess the likelihood and amount of potential adjustments and adjust the income tax provisions, income taxes payable and deferred income taxes in the period in which the facts that give rise to a revision become known.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Earnings per share&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Basic earnings per share is calculated by dividing net income by the weighted average number of common shares outstanding during the period. Diluted earnings per common share is calculated by dividing net income by the sum of the weighted average number of common shares outstanding and all additional common shares that would have been outstanding if potentially dilutive common shares had been issued during the period. The treasury stock method is used to compute the dilutive effect of stock-based compensation.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 14 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;/div&gt; &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Recently adopted accounting pronouncements&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; May 2014, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2014&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;09,&lt;/div&gt; &amp;#x201c;Revenue from Contracts with Customers&amp;#x201d; (&amp;#x201c;ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;606&amp;#x201d;&lt;/div&gt;). ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;606&lt;/div&gt; supersedes the revenue recognition requirements in ASC Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;605,&lt;/div&gt; &amp;#x201c;Revenue Recognition&amp;#x201d; ("ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;605"&lt;/div&gt;) and nearly all other existing revenue recognition guidance under US GAAP. The core principle of ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;606&lt;/div&gt; is to recognize revenues when promised goods or services are transferred to customers in an amount that reflects the consideration that is expected to be received for those goods or services. ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;606&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; December 15, 2017, &lt;/div&gt;which is our fiscal year that began on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2018 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt;). The Company has adopted ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;606&lt;/div&gt; in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt; using the cumulative effect method and therefore the comparative information has &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; been restated and continues to be reported under ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;605.&lt;/div&gt; The details of the significant changes and quantitative impact of the changes are set out below.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Term-based licenses&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;Under ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;605,&lt;/div&gt; revenue attributable to term-based arrangements was recognized ratably over the term of the arrangement because Vendor Specific Objective Evidence did &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; exist for the undelivered maintenance and support element of the arrangement. Under ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;606,&lt;/div&gt; the Company has deemed the licenses to be distinct from other performance obligations. Revenue allocated to the distinct license based on the SSP is recognized at the time that both the right-to-use the software has commenced for the term and the software has been made available to the customer.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify; text-indent: 0.5in"&gt;&lt;div style="display: inline; text-decoration: underline;"&gt;Costs to obtain a contract&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0 0pt 0.5in; text-align: justify"&gt;Under the Company's previous accounting policies, the Company generally expensed commission costs paid to employees or &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;third&lt;/div&gt; parties to obtain customer contracts as incurred. Under ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;606,&lt;/div&gt; the Company allocates these incremental commission costs to the various performance obligations to which they relate using the relative selling price allocation for bundled commissions. For performance obligations &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; delivered upfront, the allocated commissions are deferred and amortized over the pattern of transfer of the related performance obligation. If the expected amortization period for all performance obligations in a contract with a customer is &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;one&lt;/div&gt; year or less, the commission fee is expensed when incurred. Capitalized costs to obtain a contract are included in other long-term assets on the consolidated balance sheet.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The adoption of ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;606&lt;/div&gt; resulted in an increase to contract assets of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$0.5&lt;/div&gt; million, an increase to other long-term assets of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$4.2&lt;/div&gt; million, an increase to the liability for deferred income taxes of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$1.1&lt;/div&gt; million and a decrease to accumulated deficit of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$3.6&lt;/div&gt; million, as of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2018.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; October 2016, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16,&lt;/div&gt; &amp;#x201c;Income Taxes (Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;740&lt;/div&gt;): Intra-Entity Transfers of Assets Other Than Inventory&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16&amp;#x201d;&lt;/div&gt;). ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16&lt;/div&gt; requires the recognition of the income tax consequences of an intra-entity transfer of an asset other than inventory when the transfer occurs. ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; December 15, 2017, &lt;/div&gt;which is our fiscal year that began on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2018 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt;). The Company adopted this guidance in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019.&lt;/div&gt; As a result of adoption, the balance of unamortized deferred tax charges was written-off and previously unrecognized deferred income tax assets in certain jurisdictions were recognized. The change was applied on a modified retrospective basis, and &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;no&lt;/div&gt; prior periods were restated. Accordingly, we recognized a decrease of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$4.0&lt;/div&gt; million in accumulated deficit as a result of the adoption of this change in accounting policy, as of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2018.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 2016, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;02,&lt;/div&gt; &amp;#x201c;Leases (Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;842&lt;/div&gt;)&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;02&amp;#x201d;&lt;/div&gt;) and issued subsequent amendments to the initial guidance during &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2018,&lt;/div&gt; collectively referred to as &amp;#x201c;ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;842&amp;#x201d;.&lt;/div&gt; These updates supersede the lease guidance in ASC Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;840,&lt;/div&gt; &amp;#x201c;Leases&amp;#x201d; and require the recognition of lease assets and lease liabilities by lessees for most leases previously classified as operating leases under ASC Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;840.&lt;/div&gt; Leases will continue to be classified as either operating or finance. ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;842&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; December 15, 2018, &lt;/div&gt;which is our fiscal year that began on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2019 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt;). The Company adopted ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;842&lt;/div&gt; in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2020&lt;/div&gt; using the cumulative effect method and therefore the comparative information has &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; been restated and continues to be reported under ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;840.&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;!-- Field: Page; Sequence: 15 --&gt;   &lt;!-- Field: /Page --&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;As permitted under ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;842,&lt;/div&gt; we have elected to apply the practical expedient to carry forward our current assessments of whether a contract contains a lease, lease classification, remaining lease terms and amounts capitalized as initial direct costs. We have also elected to apply the practical expedient &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; to recognize right-of-use (ROU) assets and lease liabilities for short-term leases that have a lease term of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12&lt;/div&gt; months or less. The adoption of ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;842&lt;/div&gt; resulted in an increase to ROU assets and lease liabilities of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$10.4&lt;/div&gt;&lt;/div&gt; million as of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2019. &lt;/div&gt;The adoption of ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;842&lt;/div&gt; did &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; have a material impact on either our consolidated statement of operations or our consolidated statement of cash flows.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; June 2016, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13,&lt;/div&gt; &amp;#x201c;Financial Instruments &amp;#x2013; Credit Losses (Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;326&lt;/div&gt;): Measurement of Credit Losses on Financial Instruments&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2016&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;13&amp;#x201d;&lt;/div&gt;) and issued subsequent amendments to the initial guidance during the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt; calendar year, collectively referred to as &amp;#x201c;ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;326&amp;#x201d;.&lt;/div&gt; ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;326&lt;/div&gt; requires the measurement and recognition of expected credit losses for financial assets held at amortized cost. ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;326&lt;/div&gt; replaces the existing incurred loss impairment model with an expected loss model which requires the use of forward-looking information to calculate credit loss estimates. ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;326&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; December 15, 2019, &lt;/div&gt;which is our fiscal year that began on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2020 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&lt;/div&gt;).&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;The Company is exposed to credit losses primarily through its trade accounts receivable and contract assets. The provision for credit losses is determined utilizing a model of historical losses data. In estimating the provision for credit losses, we considered the age of the receivable, our historical write-offs and the historical creditworthiness of the customer, among other factors. Should any of these factors change, the estimates made by us will also change accordingly, which could affect the level of our future provisions. The Company adopted ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;326&lt;/div&gt; as of &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2020 &lt;/div&gt;using the cumulative effect method and therefore the comparative information has &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; been restated. The adoption of ASC &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;326&lt;/div&gt; did &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; have a material impact on our results of operations or disclosures.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; January 2017, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2017&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;04,&lt;/div&gt; &amp;#x201c;Intangibles &amp;#x2013; Goodwill and Other (Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;350&lt;/div&gt;): Simplifying the Test for Goodwill Impairment&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2017&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;04&amp;#x201d;&lt;/div&gt;). ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2017&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;04&lt;/div&gt; simplifies how an entity is required to test goodwill for impairment. ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2017&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;04&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; December 15, 2019, &lt;/div&gt;which is our fiscal year that began on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2020 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&lt;/div&gt;). The Company adopted this guidance in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021.&lt;/div&gt; The adoption of this guidance did &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; have a material impact on our results of operations or disclosures.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; August 2018, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;15,&lt;/div&gt; &amp;#x201c;Intangibles &amp;#x2013; Goodwill and Other &amp;#x2013; Internal-Use Software (Subtopic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;350&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;40&lt;/div&gt;): Customer's Accounting for Implementation Costs Incurred in a Cloud Computing Arrangement That Is a Service Contract&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;15&amp;#x201d;&lt;/div&gt;). ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;15&lt;/div&gt; aligns the requirements for capitalizing implementation costs incurred in a hosting arrangement that is a service contract with the requirements for capitalizing implementation costs incurred to develop or obtain internal-use software. ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2018&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;15&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; December 15, 2019, &lt;/div&gt;which is our fiscal year that began on &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2020 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021&lt;/div&gt;). The Company adopted this guidance in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2021.&lt;/div&gt; The adoption of this guidance did &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; have a material impact on our results of operations or disclosures.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: italic bold 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;Recently issued accounting pronouncements&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;In &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; December 2019, &lt;/div&gt;the FASB issued Accounting Standards Update &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12,&lt;/div&gt; &amp;#x201c;Income Taxes (Topic &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;740&lt;/div&gt;): Simplifying the Accounting for Income Taxes&amp;#x201d; (&amp;#x201c;ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12&amp;#x201d;&lt;/div&gt;). ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12&lt;/div&gt; simplifies how an entity accounts for income taxes. ASU &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2019&lt;/div&gt;-&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;12&lt;/div&gt; is effective for annual periods, and interim periods within those annual periods, beginning after &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; December 15, 2020, &lt;/div&gt;which will be our fiscal year beginning &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 1, 2021 (&lt;/div&gt;fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2022&lt;/div&gt;). Early adoption is permitted. The Company will adopt this guidance in the &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;first&lt;/div&gt; quarter of fiscal &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2022.&lt;/div&gt; The adoption of this guidance is &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; expected to have a material impact on our results of operations or disclosures.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
  <us-gaap:SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit contextRef="i_2021-01-31" decimals="-5" id="c71146620" unitRef="iso4217-usd">1500000</us-gaap:SignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleAmountOfUnrecordedBenefit>
  <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="d_2019-06-10_2019-06-10" decimals="INF" id="c71146496" unitRef="xbrli-shares">6900000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
  <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="d_2020-07-17_2021-01-31_SubsidiarySaleOfStockAxis-The2020BaseShelfProspectusMember" decimals="INF" id="c71146508" unitRef="xbrli-shares">0</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
  <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="d_2020-02-01_2021-01-31" id="c71145581" unitRef="xbrli-shares" xs:nil="true"/>
  <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145582" unitRef="xbrli-shares">6900000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
  <us-gaap:StockIssuedDuringPeriodSharesNewIssues contextRef="d_2018-02-01_2019-01-31" id="c71145583" unitRef="xbrli-shares" xs:nil="true"/>
  <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="d_2019-02-01_2020-01-31" decimals="INF" id="c71145648" unitRef="xbrli-shares">94970</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="d_2020-02-01_2021-01-31" decimals="INF" id="c71145664" unitRef="xbrli-shares">338342</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueAcquisitions contextRef="d_2020-02-01_2021-01-31_StatementEquityComponentsAxis-CommonStockMember" id="c71152781" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:StockIssuedDuringPeriodValueAcquisitions contextRef="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c71152782" unitRef="iso4217-usd">9045000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
  <us-gaap:StockIssuedDuringPeriodValueAcquisitions contextRef="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c71152783" unitRef="iso4217-usd">1536000</us-gaap:StockIssuedDuringPeriodValueAcquisitions>
  <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="d_2019-06-10_2019-06-10" decimals="-5" id="c71146498" unitRef="iso4217-usd">245000000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
  <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="d_2020-02-01_2021-01-31_StatementEquityComponentsAxis-CommonStockMember" id="c71152778" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c71152779" unitRef="iso4217-usd">236568000</us-gaap:StockIssuedDuringPeriodValueNewIssues>
  <us-gaap:StockIssuedDuringPeriodValueNewIssues contextRef="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-CommonStockMember" id="c71152780" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="d_2020-02-01_2021-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c71152775" unitRef="iso4217-usd">7671000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c71152776" unitRef="iso4217-usd">1788000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c71152777" unitRef="iso4217-usd">681000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="d_2020-02-01_2021-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c71152793" unitRef="iso4217-usd">-1480000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c71152794" unitRef="iso4217-usd">-362000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c71152795" unitRef="iso4217-usd">-139000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
  <us-gaap:StockholdersEquity contextRef="i_2021-01-31" decimals="-3" id="c71144917" unitRef="iso4217-usd">911068000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2020-01-31" decimals="-3" id="c71144918" unitRef="iso4217-usd">821709000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2020-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c71152772" unitRef="iso4217-usd">524154000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2019-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c71152773" unitRef="iso4217-usd">276753000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2018-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c71152774" unitRef="iso4217-usd">274536000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2021-01-31_StatementEquityComponentsAxis-CommonStockMember" decimals="-3" id="c71152784" unitRef="iso4217-usd">531825000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2020-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c71152787" unitRef="iso4217-usd">459269000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2019-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c71152788" unitRef="iso4217-usd">454722000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2018-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c71152789" unitRef="iso4217-usd">451151000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2021-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember" decimals="-3" id="c71152796" unitRef="iso4217-usd">464102000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2020-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="c71152799" unitRef="iso4217-usd">-25944000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2019-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="c71152800" unitRef="iso4217-usd">-25201000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2018-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="c71152801" unitRef="iso4217-usd">-15252000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2021-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="c71152805" unitRef="iso4217-usd">-1189000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2020-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c71152808" unitRef="iso4217-usd">-135770000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2019-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c71152809" unitRef="iso4217-usd">-172767000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2018-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c71152810" unitRef="iso4217-usd">-211623000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2021-01-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustmentMember_StatementEquityComponentsAxis-RetainedEarningsMember" id="c71152814" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:StockholdersEquity contextRef="i_2020-01-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustmentMember_StatementEquityComponentsAxis-RetainedEarningsMember" id="c71152815" unitRef="iso4217-usd" xs:nil="true"/>
  <us-gaap:StockholdersEquity contextRef="i_2019-01-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustmentMember_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c71152816" unitRef="iso4217-usd">7579000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2021-01-31_StatementEquityComponentsAxis-RetainedEarningsMember" decimals="-3" id="c71152817" unitRef="iso4217-usd">-83670000</us-gaap:StockholdersEquity>
  <us-gaap:StockholdersEquity contextRef="i_2019-01-31" decimals="-3" id="c71152822" unitRef="iso4217-usd">533507000</us-gaap:StockholdersEquity>
  <us-gaap:SubsequentEventsTextBlock contextRef="d_2020-02-01_2021-01-31" id="s1792256">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;Note &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;23&lt;/div&gt; &amp;#x2013; Subsequent Event&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;On &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; February 26, 2021, &lt;/div&gt;Descartes acquired all of the shares of VitaDex Solutions, LLC, doing business as QuestaWeb, a US-based provider of foreign trade zone and customs compliance solutions. The purchase price for the acquisition was approximately &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;$36.0&lt;/div&gt; million, net of cash acquired, which was funded from cash on hand. As of the issue date of these consolidated financial statements, the fair value of the acquired assets and liabilities has &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; been determined.&lt;/div&gt;&lt;/div&gt;</us-gaap:SubsequentEventsTextBlock>
  <us-gaap:SummaryOfOperatingLossCarryforwardsTextBlock contextRef="d_2020-02-01_2021-01-31" id="c-29">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;table style="border-collapse: collapse; font: 10pt Times New Roman, Times, Serif; min-; min-width: 700px;" cellspacing="0" cellpadding="0"&gt; &lt;tr style="vertical-align: bottom"&gt; &lt;td style="text-align: left; font-style: italic"&gt;Expiry year&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Canada&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;United States&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;EMEA&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Asia Pacific&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; font-weight: bold; padding-bottom: 1pt; border-bottom: Black 1pt solid"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;Total&lt;/td&gt; &lt;td style="border-top: Black 1pt solid; border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="width: 16%; text-align: left; padding-left: 0pt"&gt;2022&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 14%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 14%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 14%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 14%; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;285&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="width: 13%; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;285&lt;/div&gt;&lt;/td&gt; &lt;td style="width: 1%; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 0pt"&gt;2023&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;3&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;341&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;50&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;394&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 0pt"&gt;2024&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;16&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;138&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;67&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;221&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 0pt"&gt;2025&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;51&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;51&lt;/div&gt;&lt;/td&gt; &lt;td style="font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-left: 0pt"&gt;2026&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;-&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: White"&gt; &lt;td style="text-align: left; padding-left: 0pt"&gt;Thereafter&lt;/td&gt; &lt;td style="padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,969&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,807&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;47,832&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,434&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;60,042&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr style="vertical-align: bottom; background-color: rgb(204,238,255)"&gt; &lt;td style="text-align: left; padding-bottom: 1pt; padding-left: 9pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;6,969&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,877&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;48,311&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;2,836&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; padding-bottom: 1pt"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: right"&gt;&lt;div style="display: inline; font-style: italic; font: inherit;"&gt;60,993&lt;/div&gt;&lt;/td&gt; &lt;td style="border-bottom: Black 2pt solid; font-weight: bold; text-align: left"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt;&lt;/div&gt;</us-gaap:SummaryOfOperatingLossCarryforwardsTextBlock>
  <us-gaap:UnbilledReceivablesCurrent contextRef="i_2021-01-31" decimals="-5" id="c71146413" unitRef="iso4217-usd">300000</us-gaap:UnbilledReceivablesCurrent>
  <us-gaap:UnbilledReceivablesCurrent contextRef="i_2020-01-31" decimals="-5" id="c71146414" unitRef="iso4217-usd">1400000</us-gaap:UnbilledReceivablesCurrent>
  <us-gaap:UndistributedEarningsOfForeignSubsidiaries contextRef="i_2021-01-31" decimals="-5" id="c71146615" unitRef="iso4217-usd">432700000</us-gaap:UndistributedEarningsOfForeignSubsidiaries>
  <us-gaap:UnrecognizedTaxBenefits contextRef="i_2020-01-31" decimals="-3" id="c71145955" unitRef="iso4217-usd">6650000</us-gaap:UnrecognizedTaxBenefits>
  <us-gaap:UnrecognizedTaxBenefits contextRef="i_2019-01-31" decimals="-3" id="c71145956" unitRef="iso4217-usd">7824000</us-gaap:UnrecognizedTaxBenefits>
  <us-gaap:UnrecognizedTaxBenefits contextRef="i_2021-01-31" decimals="-3" id="c71145961" unitRef="iso4217-usd">8393000</us-gaap:UnrecognizedTaxBenefits>
  <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145957" unitRef="iso4217-usd">2502000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
  <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145958" unitRef="iso4217-usd">139000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
  <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145959" unitRef="iso4217-usd">759000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
  <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145960" unitRef="iso4217-usd">1313000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
  <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate contextRef="i_2021-01-31" decimals="-5" id="c71146619" unitRef="iso4217-usd">8200000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
  <us-gaap:UseOfEstimates contextRef="d_2020-02-01_2021-01-31" id="c71152861">&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style="display: inline; font-family: times new roman; font-size: 10pt"&gt;&lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0"&gt;&lt;div style="display: inline; font-weight: bold;"&gt;&lt;div style="display: inline; font-style: italic;"&gt;Use of estimates&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Preparing financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the amounts that are reported in the consolidated financial statements and accompanying note disclosures. Although these estimates and assumptions are based on management's best knowledge of current events, actual results &lt;div style="display: inline; font-style: italic; font: inherit;"&gt; may &lt;/div&gt;be different from the estimates. These estimates, judgments and assumptions are evaluated on an ongoing basis. We base our estimates on historical experience and on various other assumptions that we believe are reasonable at that time, the results of which form the basis for making judgments about the carrying values of assets and liabilities that are &lt;div style="display: inline; font-style: italic; font: inherit;"&gt;not&lt;/div&gt; readily apparent from other sources.&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style=" font: 10pt Times New Roman, Times, Serif; margin: 0pt 0; text-align: justify"&gt;Estimates and assumptions are used when accounting for items such as allocations of the purchase price and the fair value of net assets acquired in business combination transactions, useful lives of intangible assets and property and equipment, revenue related estimates including determining the nature and timing of satisfaction of performance obligations, variable consideration, and other obligations such as product returns and refunds, allowance for doubtful accounts, collectability of other receivables, provisions for excess or obsolete inventory, determining the Company's incremental borrowing rate, restructuring accruals, fair value of stock-based compensation, assumptions embodied in the valuation of assets for impairment assessment, accounting for income taxes, valuation allowances for deferred income tax assets, realization of investment tax credits, uncertain tax positions and recognition of contingencies. Significant assumptions and judgment are used when determining the standalone selling price (&amp;#x201c;SSP&amp;#x201d;) of performance obligations in contracts with customers.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
  <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145603" unitRef="xbrli-shares">85756000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
  <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145604" unitRef="xbrli-shares">82867000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
  <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145605" unitRef="xbrli-shares">77791000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
  <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="d_2020-02-01_2021-01-31" decimals="-3" id="c71145594" unitRef="xbrli-shares">84360000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
  <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="d_2019-02-01_2020-01-31" decimals="-3" id="c71145595" unitRef="xbrli-shares">81659000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
  <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="d_2018-02-01_2019-01-31" decimals="-3" id="c71145596" unitRef="xbrli-shares">76832000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
  <link:footnoteLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended"/>
  <xbrli:unit id="xbrli-shares">
    <xbrli:measure>xbrli:shares</xbrli:measure>
  </xbrli:unit>
  <xbrli:unit id="xbrli-pure">
    <xbrli:measure>xbrli:pure</xbrli:measure>
  </xbrli:unit>
  <xbrli:unit id="iso4217-usd">
    <xbrli:measure>iso4217:USD</xbrli:measure>
  </xbrli:unit>
  <xbrli:unit id="iso4217-cad">
    <xbrli:measure>iso4217:CAD</xbrli:measure>
  </xbrli:unit>
  <xbrli:unit id="iso4217-usd-per-xbrli-shares">
    <xbrli:divide>
      <xbrli:unitNumerator>
        <xbrli:measure>iso4217:USD</xbrli:measure>
      </xbrli:unitNumerator>
      <xbrli:unitDenominator>
        <xbrli:measure>xbrli:shares</xbrli:measure>
      </xbrli:unitDenominator>
    </xbrli:divide>
  </xbrli:unit>
  <xbrli:context id="d_2018-02-01_2019-01-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-PSUsAndRSUsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">dsgx:PSUsAndRSUsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-StockOptionsTreasuryStockMethodMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">dsgx:StockOptionsTreasuryStockMethodMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_AwardTypeAxis-EmployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_AwardTypeAxis-PerformanceSharesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2019AcquisitionsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_IncomeStatementLocationAxis-CostOfSalesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-CA">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CA</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-OtherCountriesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">dsgx:OtherCountriesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_IncomeTaxAuthorityAxis-US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:CashsettledRestrictedShareUnitMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_PlanNameAxis-DeferredShareUnitPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:DeferredShareUnitPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_ProductOrServiceAxis-LicenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_ProductOrServiceAxis-ProfessionalServicesAndOtherMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dsgx:ProfessionalServicesAndOtherMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_ProductOrServiceAxis-ServiceMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_StatementGeographicalAxis-AsiaPacificMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_StatementGeographicalAxis-CA">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_StatementGeographicalAxis-EMEAMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-01_2019-01-31_StatementGeographicalAxis-US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-01</xbrli:startDate>
      <xbrli:endDate>2019-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-02-02_2018-02-02_BusinessAcquisitionAxis-AljexSoftwareIncMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-02-02</xbrli:startDate>
      <xbrli:endDate>2018-02-02</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-06-06_2018-06-06_SubsidiarySaleOfStockAxis-ShelfProspectusMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">dsgx:ShelfProspectusMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-06-06</xbrli:startDate>
      <xbrli:endDate>2018-06-06</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-06-22_2018-06-22_BusinessAcquisitionAxis-VelocityMailMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-06-22</xbrli:startDate>
      <xbrli:endDate>2018-06-22</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2018-08-21_2018-08-21_BusinessAcquisitionAxis-PinPointMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-08-21</xbrli:startDate>
      <xbrli:endDate>2018-08-21</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-01-25_2019-01-25_CreditFacilityAxis-LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dsgx:LineOfCreditBorrowingsToSupportForeignExchangeAndInterestRateHedgingMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dsgx:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-25</xbrli:startDate>
      <xbrli:endDate>2019-01-25</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-01-25_2019-01-25_CreditFacilityAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dsgx:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-25</xbrli:startDate>
      <xbrli:endDate>2019-01-25</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-01-25_2019-01-25_CreditFacilityAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MaximumMember_VariableRateAxis-CanadaOrUsPrimeRateBaOrLiborMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dsgx:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">dsgx:CanadaOrUsPrimeRateBaOrLiborMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-25</xbrli:startDate>
      <xbrli:endDate>2019-01-25</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-01-25_2019-01-25_CreditFacilityAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dsgx:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-25</xbrli:startDate>
      <xbrli:endDate>2019-01-25</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-01-25_2019-01-25_CreditFacilityAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MinimumMember_VariableRateAxis-CanadaOrUsPrimeRateBaOrLiborMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dsgx:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">dsgx:CanadaOrUsPrimeRateBaOrLiborMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-25</xbrli:startDate>
      <xbrli:endDate>2019-01-25</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-PSUsAndRSUsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">dsgx:PSUsAndRSUsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-StockOptionsTreasuryStockMethodMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">dsgx:StockOptionsTreasuryStockMethodMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_AwardTypeAxis-EmployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_AwardTypeAxis-PerformanceSharesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-COREKontainersAndShipTrackMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:COREKontainersAndShipTrackMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-KontainersMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:KontainersMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-PeoplevoxMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PeoplevoxMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-ShipTrackMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipTrackMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2020AcquisitionsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_IncomeStatementLocationAxis-CostOfSalesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_IncomeTaxAuthorityAxis-CA">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CA</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_IncomeTaxAuthorityAxis-OtherCountriesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">dsgx:OtherCountriesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_IncomeTaxAuthorityAxis-US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:CashsettledRestrictedShareUnitMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_PlanNameAxis-DeferredShareUnitPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:DeferredShareUnitPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:ShareholderapprovedStockOptionPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_ProductOrServiceAxis-LicenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_ProductOrServiceAxis-ProfessionalServicesAndOtherMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dsgx:ProfessionalServicesAndOtherMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_ProductOrServiceAxis-ServiceMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_StatementGeographicalAxis-AsiaPacificMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_StatementGeographicalAxis-CA">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_StatementGeographicalAxis-EMEAMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-01_2020-01-31_StatementGeographicalAxis-US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-01</xbrli:startDate>
      <xbrli:endDate>2020-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-02-12_2019-02-12_BusinessAcquisitionAxis-VisualComplianceMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-02-12</xbrli:startDate>
      <xbrli:endDate>2019-02-12</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-05-10_2019-05-10_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-05-10</xbrli:startDate>
      <xbrli:endDate>2019-05-10</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-06-10_2019-06-10">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-06-10</xbrli:startDate>
      <xbrli:endDate>2019-06-10</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-06-27_2019-06-27_BusinessAcquisitionAxis-StepcomMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-06-27</xbrli:startDate>
      <xbrli:endDate>2019-06-27</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2019-08-20_2019-08-20_BusinessAcquisitionAxis-BesttransportMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-08-20</xbrli:startDate>
      <xbrli:endDate>2019-08-20</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_AdjustmentsForChangeInAccountingPrincipleAxis-VolunatryChangeElectedToAdoptInAccountingForDeferredRevenueForIncomeTaxPurposesInTheUnitedStatesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForChangeInAccountingPrincipleAxis">dsgx:VolunatryChangeElectedToAdoptInAccountingForDeferredRevenueForIncomeTaxPurposesInTheUnitedStatesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-EmployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-PSUsAndRSUsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">dsgx:PSUsAndRSUsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis-StockOptionsTreasuryStockMethodMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">dsgx:StockOptionsTreasuryStockMethodMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_AwardTypeAxis-CashsettledRestrictedSharePlanMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">dsgx:CashsettledRestrictedSharePlanMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_AwardTypeAxis-CashsettledRestrictedSharePlanMember_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">dsgx:CashsettledRestrictedSharePlanMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_AwardTypeAxis-DeferredShareUnitPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">dsgx:DeferredShareUnitPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_AwardTypeAxis-EmployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MaximumMember_TitleOfIndividualAxis-DirectorsAndOfficersMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">dsgx:DirectorsAndOfficersMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_AwardTypeAxis-EmployeeStockOptionMember_RangeAxis-MinimumMember_TitleOfIndividualAxis-DirectorsAndOfficersMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">dsgx:DirectorsAndOfficersMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_AwardTypeAxis-PerformanceSharesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-BesttransportMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-KontainersMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:KontainersMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-KontainersMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:KontainersMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-KontainersMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:KontainersMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-KontainersMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:KontainersMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-KontainersMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:KontainersMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PeoplevoxMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PeoplevoxMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PeoplevoxMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PeoplevoxMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipTrackMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipTrackMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipTrackMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipTrackMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipTrackMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-StepcomMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2021AcquisitionsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_BusinessAcquisitionAxis-VisualComplianceMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_IncomeStatementLocationAxis-CostOfSalesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_IncomeStatementLocationAxis-ResearchAndDevelopmentExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_IncomeStatementLocationAxis-SellingAndMarketingExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_IncomeTaxAuthorityAxis-CA">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:CA</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_IncomeTaxAuthorityAxis-OtherCountriesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">dsgx:OtherCountriesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_IncomeTaxAuthorityAxis-US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:CashsettledRestrictedShareUnitMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_PlanNameAxis-DeferredShareUnitPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:DeferredShareUnitPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:ShareholderapprovedStockOptionPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_ProductOrServiceAxis-LicenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_ProductOrServiceAxis-ProfessionalServicesAndOtherMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">dsgx:ProfessionalServicesAndOtherMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_ProductOrServiceAxis-ServiceMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentMember_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-EquipmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_RangeAxis-MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_RestructuringCostAndReserveAxis-EmployeeSeveranceMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_RestructuringCostAndReserveAxis-FacilityClosingMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range1Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">dsgx:Range1Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range2Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">dsgx:Range2Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range3Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">dsgx:Range3Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range4Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">dsgx:Range4Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_StatementGeographicalAxis-AsiaPacificMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_StatementGeographicalAxis-CA">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_StatementGeographicalAxis-EMEAMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-01_2021-01-31_StatementGeographicalAxis-US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-01</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-02-21_2020-02-21_BusinessAcquisitionAxis-PeoplevoxMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PeoplevoxMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-21</xbrli:startDate>
      <xbrli:endDate>2020-02-21</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-05-01_2020-07-31_RestructuringPlanAxis-Fiscal2021RestructuringPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dsgx:Fiscal2021RestructuringPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-05-01</xbrli:startDate>
      <xbrli:endDate>2020-07-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-06-10_2020-06-10_BusinessAcquisitionAxis-KontainersMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:KontainersMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-06-10</xbrli:startDate>
      <xbrli:endDate>2020-06-10</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-07-16_2020-07-16_SubsidiarySaleOfStockAxis-The2020BaseShelfProspectusMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">dsgx:The2020BaseShelfProspectusMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-07-16</xbrli:startDate>
      <xbrli:endDate>2020-07-16</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-07-17_2021-01-31_SubsidiarySaleOfStockAxis-The2020BaseShelfProspectusMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">dsgx:The2020BaseShelfProspectusMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-07-17</xbrli:startDate>
      <xbrli:endDate>2021-01-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2020-11-06_2020-11-06_BusinessAcquisitionAxis-ShipTrackMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipTrackMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-11-06</xbrli:startDate>
      <xbrli:endDate>2020-11-06</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="d_2021-02-26_2021-02-26_BusinessAcquisitionAxis-VitaDexSolutionsLLCMember_SubsequentEventTypeAxis-SubsequentEventMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VitaDexSolutionsLLCMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2021-02-26</xbrli:startDate>
      <xbrli:endDate>2021-02-26</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-01-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-02-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201409Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201409Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-02-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-02-01_AdjustmentsForNewAccountingPronouncementsAxis-TheAccountingStandardsUpdate201616Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">dsgx:TheAccountingStandardsUpdate201616Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-02-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-02-02_BusinessAcquisitionAxis-AljexSoftwareIncMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-02-02</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-06-06_SubsidiarySaleOfStockAxis-ShelfProspectusMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">dsgx:ShelfProspectusMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-06-06</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-06-22_BusinessAcquisitionAxis-VelocityMailMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-06-22</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2018-08-21_BusinessAcquisitionAxis-PinPointMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-08-21</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-25_CreditFacilityAxis-RevolvingOperatingCreditFacilityMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dsgx:RevolvingOperatingCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dsgx:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-25</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-25_CreditFacilityAxis-RevolvingOperatingCreditFacilityMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dsgx:RevolvingOperatingCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dsgx:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-25</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_AwardTypeAxis-PerformanceSharesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-AljexSoftwareIncMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:AljexSoftwareIncMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-PinPointMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PinPointMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2019AcquisitionsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2019AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2019AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2019AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-The2019AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2019AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_BusinessAcquisitionAxis-VelocityMailMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VelocityMailMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustmentMember_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:ShareholderapprovedStockOptionPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-01-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-02-01_AdjustmentsForNewAccountingPronouncementsAxis-AccountingStandardsUpdate201602Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201602Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-02-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-02-12_BusinessAcquisitionAxis-VisualComplianceMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-02-12</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-05-10_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-05-10</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-06-10">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-06-10</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-06-27_BusinessAcquisitionAxis-StepcomMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-06-27</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2019-08-20_BusinessAcquisitionAxis-BesttransportMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-08-20</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_AwardTypeAxis-PerformanceSharesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-BesttransportMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:BesttransportMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-COREKontainersAndShipTrackMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:COREKontainersAndShipTrackMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-CoreTransportTechnologiesNzLimitedMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:CoreTransportTechnologiesNzLimitedMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-StepcomMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:StepcomMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2020AcquisitionsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2020AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2020AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2020AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-The2020AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2020AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_BusinessAcquisitionAxis-VisualComplianceMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:VisualComplianceMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustmentMember_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_HedgingDesignationAxis-DesignatedAsHedgingInstrumentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_HedgingDesignationAxis-NondesignatedMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:CashsettledRestrictedShareUnitMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_PlanNameAxis-DeferredShareUnitPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:DeferredShareUnitPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:ShareholderapprovedStockOptionPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-AssetUnderConstructionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AssetUnderConstructionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-EquipmentInstalledWithCustomersMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">dsgx:EquipmentInstalledWithCustomersMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_RestructuringCostAndReserveAxis-EmployeeSeveranceMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_RestructuringCostAndReserveAxis-FacilityClosingMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_StatementGeographicalAxis-AsiaPacificMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_StatementGeographicalAxis-CA">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_StatementGeographicalAxis-EMEAMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-01-31_StatementGeographicalAxis-US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-02-21_BusinessAcquisitionAxis-PeoplevoxMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PeoplevoxMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-02-21</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-06-10_BusinessAcquisitionAxis-KontainersMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:KontainersMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-06-10</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-07-16_SubsidiarySaleOfStockAxis-The2020BaseShelfProspectusMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">dsgx:The2020BaseShelfProspectusMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-07-16</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2020-11-06_BusinessAcquisitionAxis-ShipTrackMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipTrackMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-11-06</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_AwardTypeAxis-EmployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_AwardTypeAxis-EmployeeStockOptionMember_PlanNameAxis-ShareholderapprovedStockOptionPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:ShareholderapprovedStockOptionPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_AwardTypeAxis-PerformanceSharesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_AwardTypeAxis-RestrictedStockUnitsRSUMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_BusinessAcquisitionAxis-KontainersMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:KontainersMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_BusinessAcquisitionAxis-KontainersMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:KontainersMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_BusinessAcquisitionAxis-KontainersMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:KontainersMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_BusinessAcquisitionAxis-KontainersMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:KontainersMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_BusinessAcquisitionAxis-KontainersMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:KontainersMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PeoplevoxMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PeoplevoxMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PeoplevoxMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PeoplevoxMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_BusinessAcquisitionAxis-PeoplevoxMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:PeoplevoxMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipTrackMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipTrackMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipTrackMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipTrackMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_BusinessAcquisitionAxis-ShipTrackMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:ShipTrackMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2021AcquisitionsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2021AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-ExistingTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2021AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">dsgx:ExistingTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2021AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_BusinessAcquisitionAxis-The2021AcquisitionsMember_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">dsgx:The2021AcquisitionsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_CreditFacilityAxis-RevolvingOperatingCreditFacilityMember_DebtInstrumentAxis-SeniorSecuredCreditFacilityMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">dsgx:RevolvingOperatingCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">dsgx:SeniorSecuredCreditFacilityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_CumulativeEffectPeriodOfAdoptionAxis-CumulativeEffectPeriodOfAdoptionAdjustmentMember_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-DevelopedTechnologyRightsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_FiniteLivedIntangibleAssetsByMajorClassAxis-TradeNamesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_HedgingDesignationAxis-DesignatedAsHedgingInstrumentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_HedgingDesignationAxis-NondesignatedMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-InternalRevenueServiceIRSMember_TaxPeriodAxis-AfterTaxYear2026Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:AfterTaxYear2026Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-InternalRevenueServiceIRSMember_TaxPeriodAxis-TaxYear2022Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2022Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-InternalRevenueServiceIRSMember_TaxPeriodAxis-TaxYear2023Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2023Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-InternalRevenueServiceIRSMember_TaxPeriodAxis-TaxYear2024Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2024Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_IncomeTaxAuthorityNameAxis-InternalRevenueServiceIRSMember_TaxPeriodAxis-TaxYear2025Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:InternalRevenueServiceIRSMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2025Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-DomesticCountryMember_TaxPeriodAxis-TaxYear2026Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2026Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:AsiaPacificIncomeTaxAuthorityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-AfterTaxYear2026Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:AsiaPacificIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:AfterTaxYear2026Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2022Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:AsiaPacificIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2022Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2023Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:AsiaPacificIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2023Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2024Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:AsiaPacificIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2024Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2025Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:AsiaPacificIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2025Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-AsiaPacificIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2026Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:AsiaPacificIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2026Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-AfterTaxYear2026Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:AfterTaxYear2026Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2022Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2022Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2023Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2023Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2024Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2024Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2025Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2025Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-CanadaRevenueAgencyMember_TaxPeriodAxis-TaxYear2026Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">us-gaap:CanadaRevenueAgencyMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2026Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:EmeaIncomeTaxAuthorityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-AfterTaxYear2026Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:EmeaIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:AfterTaxYear2026Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2022Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:EmeaIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2022Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2023Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:EmeaIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2023Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2024Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:EmeaIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2024Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2025Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:EmeaIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2025Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_IncomeTaxAuthorityAxis-ForeignCountryMember_IncomeTaxAuthorityNameAxis-EmeaIncomeTaxAuthorityMember_TaxPeriodAxis-TaxYear2026Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:ForeignCountryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityNameAxis">dsgx:EmeaIncomeTaxAuthorityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2026Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_PlanNameAxis-CashsettledRestrictedShareUnitMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:CashsettledRestrictedShareUnitMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_PlanNameAxis-DeferredShareUnitPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:DeferredShareUnitPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_PlanNameAxis-ShareholderapprovedStockOptionPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">dsgx:ShareholderapprovedStockOptionPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-AssetUnderConstructionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:AssetUnderConstructionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-ComputerEquipmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-EquipmentInstalledWithCustomersMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">dsgx:EquipmentInstalledWithCustomersMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-FurnitureAndFixturesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_PropertyPlantAndEquipmentByTypeAxis-LeaseholdImprovementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_RangeAxis-MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_RestructuringCostAndReserveAxis-EmployeeSeveranceMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:EmployeeSeveranceMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_RestructuringCostAndReserveAxis-FacilityClosingMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:RestructuringCostAndReserveAxis">us-gaap:FacilityClosingMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_RestructuringPlanAxis-Fiscal2021RestructuringPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:RestructuringPlanAxis">dsgx:Fiscal2021RestructuringPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis-RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain-2021-02-01">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
          <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2021-02-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
        </xbrldi:typedMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range1Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">dsgx:Range1Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range2Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">dsgx:Range2Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range3Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">dsgx:Range3Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis-Range4Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeAxis">dsgx:Range4Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_StatementEquityComponentsAxis-AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_StatementEquityComponentsAxis-AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_StatementEquityComponentsAxis-CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_StatementEquityComponentsAxis-RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_StatementGeographicalAxis-AsiaPacificMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_StatementGeographicalAxis-CA">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_StatementGeographicalAxis-EMEAMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_StatementGeographicalAxis-US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_TaxPeriodAxis-AfterTaxYear2026Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:AfterTaxYear2026Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_TaxPeriodAxis-TaxYear2022Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2022Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_TaxPeriodAxis-TaxYear2023Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2023Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_TaxPeriodAxis-TaxYear2024Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2024Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_TaxPeriodAxis-TaxYear2025Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2025Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="i_2021-01-31_TaxPeriodAxis-TaxYear2026Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001050140</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:TaxPeriodAxis">dsgx:TaxYear2026Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2021-01-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
</xbrli:xbrl>