<SEC-DOCUMENT>0000860731-20-000017.txt : 20200429
<SEC-HEADER>0000860731-20-000017.hdr.sgml : 20200429
<ACCEPTANCE-DATETIME>20200429165324
ACCESSION NUMBER:		0000860731-20-000017
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		71
CONFORMED PERIOD OF REPORT:	20200331
FILED AS OF DATE:		20200429
DATE AS OF CHANGE:		20200429

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			TYLER TECHNOLOGIES INC
		CENTRAL INDEX KEY:			0000860731
		STANDARD INDUSTRIAL CLASSIFICATION:	SERVICES-PREPACKAGED SOFTWARE [7372]
		IRS NUMBER:				752303920
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-10485
		FILM NUMBER:		20831194

	BUSINESS ADDRESS:	
		STREET 1:		5101 TENNYSON PKWY
		CITY:			PLANO
		STATE:			TX
		ZIP:			75024
		BUSINESS PHONE:		9727133700

	MAIL ADDRESS:	
		STREET 1:		5101 TENNYSON PKWY
		CITY:			PLANO
		STATE:			TX
		ZIP:			75024

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	TYLER CORP /NEW/
		DATE OF NAME CHANGE:	19930328

	FORMER COMPANY:	
		FORMER CONFORMED NAME:	TYLER THREE INC
		DATE OF NAME CHANGE:	19600201
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>tyl-20200331.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version="1.0" ?><!--XBRL Document Created with Wdesk from Workiva--><!--Copyright 2020 Workiva--><!--r:9c0163e1-2bea-4e19-a373-e0f9503df286,g:86679952-cdda-4c06-ac05-01fb6f67268a,d:dedd8d3e0b164448a7aeb348636ed2a9--><html xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2015-02-26" xmlns:us-gaap="http://fasb.org/us-gaap/2019-01-31" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/1999/xhtml" xmlns:tyl="http://www.tylertech.com/20200331" xmlns:srt="http://fasb.org/srt/2019-01-31"><head><meta http-equiv="Content-Type" content="text/html"/>


<title>tyl-20200331</title></head><body><div style="display:none"><ix:header><ix:hidden><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="dei:AmendmentFlag" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80L2ZyYWc6MWFmM2IxZDZiMTdlNDUyYmIzOWZkYzk5ZWQ4ZjE0ZmUvdGFibGU6MDA5NGU4NTZiOGExNDU5YWI3ZWRlOTNkYTAxNjFhZDcvdGFibGVyYW5nZTowMDk0ZTg1NmI4YTE0NTlhYjdlZGU5M2RhMDE2MWFkN18yLTEtMS0xLTA_ce0f361d-2ff7-405e-96cc-562de29da4c2">false</ix:nonNumeric><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="dei:DocumentFiscalYearFocus" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80L2ZyYWc6MWFmM2IxZDZiMTdlNDUyYmIzOWZkYzk5ZWQ4ZjE0ZmUvdGFibGU6MDA5NGU4NTZiOGExNDU5YWI3ZWRlOTNkYTAxNjFhZDcvdGFibGVyYW5nZTowMDk0ZTg1NmI4YTE0NTlhYjdlZGU5M2RhMDE2MWFkN180LTEtMS0xLTA_ba73fa1f-428f-4d36-b7e4-b1d1aadcc663">2020</ix:nonNumeric><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="dei:DocumentFiscalPeriodFocus" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80L2ZyYWc6MWFmM2IxZDZiMTdlNDUyYmIzOWZkYzk5ZWQ4ZjE0ZmUvdGFibGU6MDA5NGU4NTZiOGExNDU5YWI3ZWRlOTNkYTAxNjFhZDcvdGFibGVyYW5nZTowMDk0ZTg1NmI4YTE0NTlhYjdlZGU5M2RhMDE2MWFkN181LTEtMS0xLTA_93639fc2-ab54-42b9-a8a5-7f5708e215d2">Q1</ix:nonNumeric><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="dei:EntityCentralIndexKey" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80L2ZyYWc6MWFmM2IxZDZiMTdlNDUyYmIzOWZkYzk5ZWQ4ZjE0ZmUvdGFibGU6MDA5NGU4NTZiOGExNDU5YWI3ZWRlOTNkYTAxNjFhZDcvdGFibGVyYW5nZTowMDk0ZTg1NmI4YTE0NTlhYjdlZGU5M2RhMDE2MWFkN183LTEtMS0xLTA_9e186704-0d83-4ac5-9d18-4071040a190a">0000860731</ix:nonNumeric><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="dei:CurrentFiscalYearEndDate" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80L2ZyYWc6MWFmM2IxZDZiMTdlNDUyYmIzOWZkYzk5ZWQ4ZjE0ZmUvdGFibGU6MDA5NGU4NTZiOGExNDU5YWI3ZWRlOTNkYTAxNjFhZDcvdGFibGVyYW5nZTowMDk0ZTg1NmI4YTE0NTlhYjdlZGU5M2RhMDE2MWFkN184LTEtMS0xLTA_2c4f784f-a023-4686-845d-cdc30ff04cb1">--12-31</ix:nonNumeric><ix:nonNumeric contextRef="i41536f8dfc924a47b1c4eb2bb6a775d3_D20200101-20200331" name="tyl:SalesCommissionsAmortizationPeriod" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfMzQ3_ffd0ccce-aade-4ac4-927b-cf2eaf701cc5">P3Y</ix:nonNumeric><ix:nonNumeric contextRef="i41536f8dfc924a47b1c4eb2bb6a775d3_D20200101-20200331" name="tyl:RevenueFromContractWithCustomerContractTerm" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RleHRyZWdpb246ZjZmYmIxMzk5MWYxNGUzY2EwYjVmMDBlZDc2ZGNkZDZfODMy_52445c18-6c01-4972-858f-87b95f845d8e">P1Y</ix:nonNumeric><ix:nonNumeric contextRef="i41536f8dfc924a47b1c4eb2bb6a775d3_D20200101-20200331" name="tyl:RevenueFromContractWithCustomerTypicalContractTerm" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RleHRyZWdpb246ZjZmYmIxMzk5MWYxNGUzY2EwYjVmMDBlZDc2ZGNkZDZfODkz_c5a35317-6090-49f0-80d4-0ed5be63f368">P3Y</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="tyl-20200331.xsd"></link:schemaRef></ix:references><ix:resources><xbrli:context id="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:context id="i0f66e2e57dbf4a6d88e7a3761d004c7e_I20200427"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-04-27</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="usd"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><xbrli:context id="ie891a1616a7a4c018ac10300638907dc_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:SoftwareLicensesandRoyaltiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4ae494fe3fc54cebb5b97d00059ab11b_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:SoftwareLicensesandRoyaltiesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i52db7fb94e9a43d3a090841e603a1f22_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ife3e03665cb644d2b0fe0812b3be1710_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i22ad0df49d924893a3577a4c019909df_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i922ed0a0756c470085fe495091639d66_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i240b9b798d9f4a78bc53dc123e9d7930_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia1be6fa6298c4d629677609ef41783ea_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie84c2a45cd6a4877a7182c409a4cc863_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie1b58e04a8b34027811767211b7fabc2_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i22724b43d60848c9abd198a90227d9a3_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:HardwareandOtherMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2f2225f563434ad48ae0773f6485d362_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:HardwareandOtherMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i438de681cc894bc2901b4986acb88cd9_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AcquiredSoftwareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i3d1df32ae61c4d9195656acb516102f8_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AcquiredSoftwareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if1a1e6c97d224c17a27f96bcd025b788_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:SoftwareServicesMaintenanceandSubscriptionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifbfe303c068f4c138370d434322e9859_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:SoftwareServicesMaintenanceandSubscriptionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="usdPerShare"><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="i3a034c88ef4f4a1b9bf7055967030885_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic34cb5da26534e7e83310f5e76c3166f_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="if0aa42e674be4ee2b3de1fc28e9907d9_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6775188fc49547f38d76e5875298883c_I20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2019-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i95c1e77adfe44862b1f0c39f244aed0f_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ib1ae2ee3e9d64c76a151fda0af049d4f_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie25bb76b60504372b3811134dade1ad5_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="iad2144fd9ddf41b78c9aa4cc22f802b1_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia9960cd07d2f45aa8592a4abbb6c5e64_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0f0aa7b030d5468794b7b725a707046b_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8f656cef9217415fb6511287294b8ec7_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic429cf54cd604fbfbcc28f5998d31c49_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i0c7cf5f6fc2f4c89b71ef2c6e97c6de1_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4eb70c93f4fa411bad86bd10d674cb0e_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2701f41b4d2a449fa56cc719ab107f93_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ia089920120cf4415a75c227608672f35_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i452e52ac341a45d3b1b7a595f341be00_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4c971661448d4f03ae15450aa38f9645_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ic0ea1645202a41c992e1d5f88b7728d9_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i42fd642707964f51b3582e09c9a0601f_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2666add8085f4d34a75aabc4979b5b39_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7c228c8cb37f4258a6bd465af9068c44_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="tyl:CumulativeEffectPeriodOfAdoptionAxis">tyl:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie55cea4470ba4158b99ac9d7f8f15f4f_I20181231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="tyl:CumulativeEffectPeriodOfAdoptionAxis">tyl:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2018-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i4edd9cb5659c4b07b965e45ff62e66ac_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iefb48e54a90e4732af812d5d82572982_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i63a912e4a674459c9231a2b270a61ce5_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic28c914a66344b88a58d0be2b67a426b_I20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i05854a2fbc114516890f7e84e7578b9b_I20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5cfca337b14b432096c5016af25facd8_I20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie246fba7f2ae4a4ead42939f25a072af_I20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5a7ea45253564e67bfce97082f1261e2_I20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="number"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:context id="ib0673062db4f4bea81b579227d982082_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:CreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i87a1ecdcb74944b4a441f12a92f14f16_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i30c0f3448a6945928028fe4f059fc018_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2dbbc6fbf92d4f748d67fbd276f6976c_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">tyl:RetentionReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ie314674e7fcd420c864a4b079ee49508_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">tyl:RetentionReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i406c48b63868432e99620710e3da2ecf_D20200228-20200228"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tyl:MPHoldingsParentInc.dbaMicroPactMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-02-28</xbrli:startDate><xbrli:endDate>2020-02-28</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i41536f8dfc924a47b1c4eb2bb6a775d3_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iddae0efff8774178a4dbab5c433849a1_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i98eaf4d5d4df44519573eba5b2b1e26c_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">tyl:RecordHoldingsPtyLimitedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ibeed6a78eb454e6b814c43f49bcecb58_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">tyl:RecordHoldingsPtyLimitedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i16f8c115a9824e20891f5cbd72a059b3_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">tyl:RecordHoldingsPtyLimitedMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id6bb299c77214e989cc38d69596aff0e_I20190930"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:CreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3de4ab46c9ee4e8c8a50b2ce44ca4756_I20190930"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:CreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-09-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i7a7f81d2a0514100b5b0fead552b87a5_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:CreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i981befe7724e41f9a255dd5fd6d74bb9_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:CreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iefda0ef086bf4140be672398f2463104_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:CreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id0659a795ce14cdeb6a5500f7a5ccc9c_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:CreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2268fdde9b874a1fa7cfb716c12ed583_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:CreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i6867502de31f497881339235700ffb3e_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:CreditAgreementMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5e88cc29fc4344bfa1f3cb0964249dd3_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i154d9f766dcf4291a99504c7ea383294_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i89c2da0acd3c4bfdb10925118ce493ff_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">tyl:CostOfSoftwareServicesMaintenanceAndSubscriptionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iac1b4e8d5e334b489e6fab9ec6ea66a3_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">tyl:CostOfSoftwareServicesMaintenanceAndSubscriptionsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ibb616f6cafed4e7da6716dcfdc9ae8b0_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifd55246cbed7407c88ed3a166dfd35c7_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="business_unit"><xbrli:measure>tyl:Business_Unit</xbrli:measure></xbrli:unit><xbrli:unit id="segment"><xbrli:measure>tyl:Segment</xbrli:measure></xbrli:unit><xbrli:context id="i42f875f801df49e0ae125363a32e3b9f_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia638677e423e46e795938d5bfca9f360_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i02e20e1488054973a7d677512336d4fb_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1b9306c5d397496a83892163b6505b93_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if9be6dfd9bdb4d1dadb2df02216e2434_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i31ec1a4f303343f3ad1bcbe6dc24f086_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i73053d465832447da7cac300456c4044_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8372ae198a8349d0a6941699d364f293_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7186904b8c0c4f148f2c8e84d3a5175c_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic6396e699ba7498883d7de219f14fda9_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iebcd92a7c6474103a59fdd915a76b6c0_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie1761f4920b9412d992f4aef88d84432_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5318dd3099774c668755517ea1885983_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4a3429ab8342458ab88db39b49e8f9b6_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9dec249933f5400d82affc613383cff5_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id7b90be9d14d426491f3ce3e4509d19f_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if8fdb33ac6544e9085af6789d5b70927_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i35d42cc86afc4d4d9eace7fa3ef7daf2_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i29a0984318494d8bb0f22c0324ebd5ad_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i763404a96d47446a88ccf5a480f6368e_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5af9908d35fc421fa38fdefcf3533c05_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6e22976264eb477ebb061d302b1a4a52_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4108b1178c6d44a58e6ead6ef1b71a0c_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i02f5a06064cc4ec28bd02663c5168da3_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i944d80f733af47e19c5d70f7de91add8_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4059a89ea6df435a8da4356261d9cf12_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5930ed3cb5b3435aa6665d595745950e_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iff0486376a584e5e9e13ef92fe8f90bc_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">tyl:OperatingSegmentsAndCorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if69a2b78847b40ae9f9373cf1912978a_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iccdae54e7a27493d8f98f6a66c5f1194_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i48170640a80847cb97c1d75106a008cd_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id21098feabae4b92b6f5682c1e4471a3_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2ae2aa28a883403c8172bad962ba4706_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id826499eeb364780be75ef5d950f8b81_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6e073656a53241679516e3df2a153368_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i06f6a86f5ff940938d4b4236e0d5720d_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i08a9d0317108455889371733dcf957e3_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if751b1c96ca84edeb2ee59af17306cdc_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9bc205ba155944e591edd215bb565320_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i499a0b9ab62a47a9a1bf005ef4e61524_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i28e98d7972d84b1c93b23f62de28333a_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5197210f1bb74bb19eb6336213c6a8cc_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4fad6c75854b41f8a7604205a2c1ea97_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i47756fec379740d0912899c98a50dc02_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i51ac72b374cb40b6b3d5740ebfd0554a_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5a017816013a430598fd4a7e7742597a_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if8b4873ec45e4fe083e35929d1ffadee_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="idb04aa621c4848ffbc32c50f8b142f14_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if0e6c18f09d44f2e8b69704bea001833_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie375222b17754978a37dc3bff2cfc4cc_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i17c88dcef4ef45ada567ec8ee42818fa_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic4598c3e3afb485584b2e644355bd678_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7aad1ceff15e45eab0bb04cdbd984454_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i357a20f772354841b35f66d909d8013f_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="icc4557402c51425f9a7a8b8b90064f05_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">tyl:OperatingSegmentsAndCorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6249daabf00a43ca9a0a9fc9581828a1_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">tyl:AcquiredSoftwareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:MaterialReconcilingItemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i8eb935a3bfb44b3c97e430acbfc4eb6f_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">tyl:AcquiredSoftwareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:MaterialReconcilingItemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie5a4f94c748349c49c587b4b00cba1ee_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">tyl:CustomerListsAndTradeNameMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:MaterialReconcilingItemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id32798fbaa3842f59a7d1565166db8ef_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">tyl:CustomerListsAndTradeNameMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:MaterialReconcilingItemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5f3a34d3ef0543119430a070809fa972_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:MaterialReconcilingItemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i1f584053dbb249b28b94a711ac2d24ec_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:MaterialReconcilingItemsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i5f130b1cddfa464f81b553c4adfa1852_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7398be0f21e641939afc14ed98fd0c4a_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i778d0abd9ba94b548e2f23fe6215a02f_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i88ad4490f06b4bcbaa1e384ff2cc636b_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i62a6afbc64914fe2879521e014caddae_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i6159463330ca46c1ac24a6f57f8e04fd_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia5f26c0bcac143d8bd8f1a8e83640103_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7ff257486b7c44758c908850034cf1b4_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2a59a79167eb46ab80d96d3e4760a4de_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i567a9f2fc37649f4bbf0cacb19642020_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i91dc0fcbcb6e4a108e0b78afea5903e8_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie8bbbe9b2e57404aa10d598afb1670ba_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic2167dfd77a64473aa8874253785bdaf_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i32abe40a2a344d6aa7c44349293ec062_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic438154480a547968214ff66cc860671_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i81aeec1e60b34522bb6c10a9ae42c55a_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ifc620dad4052457291a8289093c3926c_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i06486b440a2f42fca2926dd5c34b80a1_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i335e8bf2b0b542acac9fc8b7e0866e20_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib5e9933f07ca4cd8b92fef549b555c84_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i763adef998874ca09bf9a556462a1335_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="id6a28479ee6441a09aa3eb575fa2c9c4_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="icb4d7bf548f64734a9d5697f644631da_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i48e012f533f94e69bec4c184beac70c9_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie2bbb44fb4b64a8dbb0c0551ba464c81_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if6d202e298f749ca9661adec9ef9e826_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i96d8cad12e5a4cf5a7e3d55f96d5fe1f_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic0736c9243224541a773474e71c816e7_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i9679ba3cd4cc4e29a1c62acc23e58d13_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iac5740cc78f54eee9c7d2e9261916a6c_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i2f528cca431049179489cea19abd7ee2_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if772a08e639f470b9939da8a14f55a5d_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ib87744e9a74345f0b52df5613ffae72d_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i15bcb49591934137ad58b30dcd83922f_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i53770699f6244425b7aa35cfb1ef90f0_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="if01372c8c4d54f22822bd4fddf261589_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ic472cdd08b174bd0a334358c7a78f7fc_D20200101-20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">tyl:CorporateAndEliminationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2020-01-01</xbrli:startDate><xbrli:endDate>2020-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="iab4b962eb99943ce8de03a471bdb3f9d_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i209cfcbffb764ac08c3ab8ad36a62c8b_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i0d6133ab4f484af596b13cec4e042473_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i13606cafdc7a487983431a017a0c209b_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i01651462b82441cfab958cd39f1cb072_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i7c2c0f3af757401fbd9afb82c07b9105_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ie1c4de1e95d34d4c8f57d4de2d7aced4_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4948357185d84a6683271b22dde1252e_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="ia44a14fb59ac495ea50bf95a685a16d8_D20190101-20190331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">tyl:CorporateAndEliminationsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2019-01-01</xbrli:startDate><xbrli:endDate>2019-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="i4be7e173672747c39fd45e67723f4657_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id98be3fd44f641dd86477ce4adb5173b_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i2638b261af7345f396d48d9f8300ae62_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i3094a16384cf4b55aff65cc2fd119cc0_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="ifd79c864ee4b409995e6af58347afb48_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="id3bbee42c456455faba0dd145bb5bc58_I20191231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2019-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="i5d69f3a426294011a0c91acb9425c994_I20200331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0000860731</xbrli:identifier><xbrli:segment><xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"><us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2020-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:unit id="legalmatter"><xbrli:measure>tyl:LegalMatter</xbrli:measure></xbrli:unit></ix:resources></ix:header></div><div id="idedd8d3e0b164448a7aeb348636ed2a9_1"></div><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="text-align:center;"><span><br/></span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:99.853%;"><tr><td style="width:1.0%;"></td><td style="width:98.000%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="height:3pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td></tr></table></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:16pt;font-weight:700;line-height:120%;">UNITED STATES</span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:16pt;font-weight:700;line-height:120%;">SECURITIES AND EXCHANGE COMMISSION</span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:700;line-height:120%;">Washington, D.C. 20549</span></div><div style="text-align:center;margin-top:2pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:18pt;font-weight:700;line-height:120%;">FORM <ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="dei:DocumentType" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGV4dHJlZ2lvbjpiMjg2MDc4MjU0ODM0ODIxYmQyZmRhZjIwMzFkNmRkM184NQ_9b5d977b-9761-4ea3-8f39-33465e26d499">10-Q</ix:nonNumeric> </span></div><div style="margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:99.853%;"><tr><td style="width:1.0%;"></td><td style="width:3.710%;"></td><td style="width:1.0%;"></td><td style="width:1.0%;"></td><td style="width:92.290%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial Unicode MS',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" format="ixt-sec:boolballotbox" name="dei:DocumentQuarterlyReport" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6ODQ5YzEwM2I1YzI1NGVjY2E2NDc1ZDc0NGZiYjI2MGEvdGFibGVyYW5nZTo4NDljMTAzYjVjMjU0ZWNjYTY0NzVkNzQ0ZmJiMjYwYV8wLTAtMS0xLTA_8fb16ceb-34f8-4794-83ab-989099afea33">&#9746;</ix:nonNumeric></span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:12pt;font-weight:700;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">QUARTERLY REPORT UNDER SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934.</span></td></tr></table></div><div style="text-align:center;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;">For the quarterly period ended <ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" format="ixt:datemonthdayyearen" name="dei:DocumentPeriodEndDate" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGV4dHJlZ2lvbjpiMjg2MDc4MjU0ODM0ODIxYmQyZmRhZjIwMzFkNmRkM18xMjI_698fd33c-3656-418f-8f24-5ef698393ec9">March 31, 2020</ix:nonNumeric>  </span></div><div style="text-align:center;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;">OR</span></div><div style="margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:99.853%;"><tr><td style="width:1.0%;"></td><td style="width:3.710%;"></td><td style="width:1.0%;"></td><td style="width:1.0%;"></td><td style="width:92.290%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:100%;"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" format="ixt-sec:boolballotbox" name="dei:DocumentTransitionReport" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6ODVkYWE3ZGU2Yzg5NDE1Mzg0OGU1N2Y1ODJjMTY5NTkvdGFibGVyYW5nZTo4NWRhYTdkZTZjODk0MTUzODQ4ZTU3ZjU4MmMxNjk1OV8wLTAtMS0xLTA_e9bf9641-93ea-4ca3-bf36-256d40e66ab1">&#9744;</ix:nonNumeric></span></div></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:12pt;font-weight:700;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934.</span></td></tr></table></div><div style="text-align:center;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;">Commission File Number <ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="dei:EntityFileNumber" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGV4dHJlZ2lvbjpiMjg2MDc4MjU0ODM0ODIxYmQyZmRhZjIwMzFkNmRkM18xNTU_9542190c-2d2f-4e51-af61-7e46ffa77723">1-10485</ix:nonNumeric> </span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:18pt;font-weight:700;line-height:120%;"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="dei:EntityRegistrantName" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGV4dHJlZ2lvbjpiMjg2MDc4MjU0ODM0ODIxYmQyZmRhZjIwMzFkNmRkM18xNTk_187a7d95-e9cd-49ab-8edc-a1ca7dffcf3e">TYLER TECHNOLOGIES, INC.</ix:nonNumeric></span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:20pt;font-weight:700;line-height:120%;"> </span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%;">(Exact name of registrant as specified in its charter)</span></div><div style="text-align:center;"><span><br/></span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:99.707%;"><tr><td style="width:1.0%;"></td><td style="width:47.413%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:2.732%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:45.655%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" format="ixt-sec:stateprovnameen" name="dei:EntityIncorporationStateCountryCode" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6ODgyODdjNWNiMDU4NDg3ODgyN2FlZmY2MDE0MWU1ZDgvdGFibGVyYW5nZTo4ODI4N2M1Y2IwNTg0ODc4ODI3YWVmZjYwMTQxZTVkOF8wLTAtMS0xLTA_91418e81-04c9-4260-952a-19e6946844a4">Delaware</ix:nonNumeric></span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="dei:EntityTaxIdentificationNumber" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6ODgyODdjNWNiMDU4NDg3ODgyN2FlZmY2MDE0MWU1ZDgvdGFibGVyYW5nZTo4ODI4N2M1Y2IwNTg0ODc4ODI3YWVmZjYwMTQxZTVkOF8wLTItMS0xLTA_a22b7b39-b5be-443f-843f-e59e79cb7327">75-2303920</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:700;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(State or other jurisdiction of<br/>incorporation or organization)</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:700;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(I.R.S. employer<br/>identification no.)</span></td></tr></table></div><div style="text-align:center;"><span><br/></span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:98.538%;"><tr><td style="width:1.0%;"></td><td style="width:33.163%;"></td><td style="width:1.0%;"></td><td style="width:1.0%;"></td><td style="width:17.732%;"></td><td style="width:1.0%;"></td><td style="width:1.0%;"></td><td style="width:17.732%;"></td><td style="width:1.0%;"></td><td style="width:1.0%;"></td><td style="width:23.373%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="dei:EntityAddressAddressLine1" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6ZTljMGVkY2I4ZmVkNGUxYWE4MTAzYjMwZjczZDk3ZDAvdGFibGVyYW5nZTplOWMwZWRjYjhmZWQ0ZTFhYTgxMDNiMzBmNzNkOTdkMF8wLTAtMS0xLTA_99ab8b80-5bf3-4010-a90f-07a1bff5b2cb">5101 TENNYSON PARKWAY</ix:nonNumeric></span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="dei:EntityAddressCityOrTown" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6ZTljMGVkY2I4ZmVkNGUxYWE4MTAzYjMwZjczZDk3ZDAvdGFibGVyYW5nZTplOWMwZWRjYjhmZWQ0ZTFhYTgxMDNiMzBmNzNkOTdkMF8wLTEtMS0xLTA_bdb0180a-aae3-4a38-9cd1-fe4d29bfe200">PLANO</ix:nonNumeric></span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" format="ixt-sec:stateprovnameen" name="dei:EntityAddressStateOrProvince" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6ZTljMGVkY2I4ZmVkNGUxYWE4MTAzYjMwZjczZDk3ZDAvdGFibGVyYW5nZTplOWMwZWRjYjhmZWQ0ZTFhYTgxMDNiMzBmNzNkOTdkMF8wLTItMS0xLTA_95281b18-4f26-4fa2-98c8-03a22bb9fa0c">Texas</ix:nonNumeric></span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:700;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="dei:EntityAddressPostalZipCode" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6ZTljMGVkY2I4ZmVkNGUxYWE4MTAzYjMwZjczZDk3ZDAvdGFibGVyYW5nZTplOWMwZWRjYjhmZWQ0ZTFhYTgxMDNiMzBmNzNkOTdkMF8wLTMtMS0xLTA_053fefa0-66e6-47f5-bf5e-3e5759b0528a">75024</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;(Address of principal executive offices)</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(City)</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(State)</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(Zip code)</span></td></tr></table></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;text-decoration: underline;">(<ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="dei:CityAreaCode" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGV4dHJlZ2lvbjpiMjg2MDc4MjU0ODM0ODIxYmQyZmRhZjIwMzFkNmRkM18yMjU_b0162205-23a2-47b5-80de-f55d5cca8087">972</ix:nonNumeric>) <ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="dei:LocalPhoneNumber" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGV4dHJlZ2lvbjpiMjg2MDc4MjU0ODM0ODIxYmQyZmRhZjIwMzFkNmRkM18yMjk_38026b3e-23ac-4e87-81fe-88271161ade4">713-3700</ix:nonNumeric> </span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;">(Registrant&#8217;s telephone number, including area code)</span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:99.853%;"><tr><td style="width:1.0%;"></td><td style="width:31.235%;"></td><td style="width:1.0%;"></td><td style="width:1.0%;"></td><td style="width:31.382%;"></td><td style="width:1.0%;"></td><td style="width:1.0%;"></td><td style="width:31.383%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:700;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;">Title of each class</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:700;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;">Trading symbol</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%;">Name of each exchange</span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%;text-decoration: underline;">on which registered</span></div></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="dei:Security12bTitle" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6NmIxNDkzNDk1NzEwNDgwMTlhMWU3MWFlMzRlZjgxOTEvdGFibGVyYW5nZTo2YjE0OTM0OTU3MTA0ODAxOWExZTcxYWUzNGVmODE5MV8xLTAtMS0xLTA_e3ed3ce5-f4c1-4139-a57a-0ff9541f4a4c">COMMON STOCK, $0.01 PAR VALUE</ix:nonNumeric></span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="dei:TradingSymbol" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6NmIxNDkzNDk1NzEwNDgwMTlhMWU3MWFlMzRlZjgxOTEvdGFibGVyYW5nZTo2YjE0OTM0OTU3MTA0ODAxOWExZTcxYWUzNGVmODE5MV8xLTEtMS0xLTA_108bf4f5-5d22-4b10-b1b2-f6c8f4e76da4">TYL</ix:nonNumeric></span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:700;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" format="ixt-sec:exchnameen" name="dei:SecurityExchangeName" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6NmIxNDkzNDk1NzEwNDgwMTlhMWU3MWFlMzRlZjgxOTEvdGFibGVyYW5nZTo2YjE0OTM0OTU3MTA0ODAxOWExZTcxYWUzNGVmODE5MV8xLTItMS0xLTA_fd28c032-cb6c-4865-995f-a16d39046300">New York Stock Exchange</ix:nonNumeric></span></td></tr></table></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;">Indicate by check mark whether the registrant (1)&#160;has filed all reports required to be filed by Section&#160;13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2)&#160;has been subject to such filing requirements for the past 90 days. &#160;<ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="dei:EntityCurrentReportingStatus" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGV4dHJlZ2lvbjpiMjg2MDc4MjU0ODM0ODIxYmQyZmRhZjIwMzFkNmRkM182MzQ_61126e66-1cfc-400c-adbd-a462d33be02e">Yes</ix:nonNumeric>&#160;&#160; </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%;">&#9746;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%;">    </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;">&#160;No&#160;&#160; </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%;">&#9744;</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;">Indicate by check mark whether the registrant has submitted electronically every Interactive Data file required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files). &#160;<ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="dei:EntityInteractiveDataCurrent" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGV4dHJlZ2lvbjpiMjg2MDc4MjU0ODM0ODIxYmQyZmRhZjIwMzFkNmRkM185MzU_8a82e4e5-334b-4ae3-8e59-1ba2e738a27c">Yes</ix:nonNumeric>&#160;&#160; </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%;">&#9746;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;"> &#160;&#160;&#160;&#160;No&#160;&#160; </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%;">&#9744;</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, smaller reporting company, or an emerging growth company. See definition of &#8220;large accelerated filer," "accelerated filer,&#8221; "smaller reporting company," and "emerging growth company" in Rule 12b-2 of the Exchange Act. (Check one):</span></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#160;</span></div><div style="margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:97.368%;"><tr><td style="width:1.0%;"></td><td style="width:20.072%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:2.652%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:39.591%;"></td><td style="width:1.0%;"></td><td style="width:1.0%;"></td><td style="width:1.153%;"></td><td style="width:1.0%;"></td><td style="width:1.0%;"></td><td style="width:22.174%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:2.352%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:1.606%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" format="ixt-sec:entityfilercategoryen" name="dei:EntityFilerCategory" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6YmMwMWI0ODQxODE0NDE0NmFlMjgxZTk3OTE4YWQ2ZmEvdGFibGVyYW5nZTpiYzAxYjQ4NDE4MTQ0MTQ2YWUyODFlOTc5MThhZDZmYV8wLTAtMS0xLTA_5af04e28-1009-4dfb-b123-fb29d432c0b9">Large accelerated filer</ix:nonNumeric></span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Arial Unicode MS',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#9746;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Accelerated&#160;filer</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial Unicode MS',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#9744;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:middle;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="6" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:middle;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="6" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:middle;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="6" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:middle;padding-left:1pt;padding-right:1pt;"><span style="font-size:6pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-accelerated filer</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Arial Unicode MS',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#9744;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Smaller&#160;reporting&#160;company</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial Unicode MS',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" format="ixt-sec:boolballotbox" name="dei:EntitySmallBusiness" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6YmMwMWI0ODQxODE0NDE0NmFlMjgxZTk3OTE4YWQ2ZmEvdGFibGVyYW5nZTpiYzAxYjQ4NDE4MTQ0MTQ2YWUyODFlOTc5MThhZDZmYV8yLTYtMS0xLTA_1725addc-7465-4b67-a535-0ed8f898fa7e">&#9744;</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Emerging growth company</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Arial Unicode MS',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" format="ixt-sec:boolballotbox" name="dei:EntityEmergingGrowthCompany" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6YmMwMWI0ODQxODE0NDE0NmFlMjgxZTk3OTE4YWQ2ZmEvdGFibGVyYW5nZTpiYzAxYjQ4NDE4MTQ0MTQ2YWUyODFlOTc5MThhZDZmYV8zLTYtMS0xLTA_b1c298bf-74db-43fd-9405-f30e357adc97">&#9744;</ix:nonNumeric></span></td></tr><tr><td colspan="15" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. </span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:middle;padding-left:1pt;padding-right:1pt;"><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:10pt;font-weight:400;line-height:100%;">&#9744;</span></div><div><span><br/></span></div><div><span><br/></span></div></td></tr></table></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Act). &#160;Yes&#160;&#160; </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:120%;"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" format="ixt-sec:boolballotbox" name="dei:EntityShellCompany" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGV4dHJlZ2lvbjpiMjg2MDc4MjU0ODM0ODIxYmQyZmRhZjIwMzFkNmRkM18xNDIy_df43a316-3d1e-4d2d-b66f-a467782c4fc2">&#9744;</ix:nonNumeric></span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;"> &#160;&#160;&#160;&#160;No&#160;&#160; </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Arial Unicode MS',sans-serif;font-size:9pt;font-weight:400;line-height:120%;">&#9746;</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%;">The number of shares of common stock of registrant outstanding on April&#160;27, 2020 was <ix:nonFraction unitRef="shares" contextRef="i0f66e2e57dbf4a6d88e7a3761d004c7e_I20200427" decimals="INF" format="ixt:numdotdecimal" name="dei:EntityCommonStockSharesOutstanding" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGV4dHJlZ2lvbjpiMjg2MDc4MjU0ODM0ODIxYmQyZmRhZjIwMzFkNmRkM18xNTA5_4c8a6a34-c457-4971-82b9-31d5ba076269">39,761,629</ix:nonFraction>.</span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:99.853%;"><tr><td style="width:1.0%;"></td><td style="width:98.000%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="height:3pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td></tr></table></div><div style="text-align:center;"><span><br/></span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div><span><br/></span></div></div></div><hr style="page-break-after:always"/><div id="idedd8d3e0b164448a7aeb348636ed2a9_7"></div><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="-sec-extract:summary;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;">PART I. FINANCIAL INFORMATION</span></div><div id="idedd8d3e0b164448a7aeb348636ed2a9_10"></div><div style="margin-top:6pt;margin-bottom:6pt;-sec-extract:summary;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">ITEM&#160;1. Financial Statements</span></div><div id="idedd8d3e0b164448a7aeb348636ed2a9_13"></div><div style="text-align:center;margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">TYLER TECHNOLOGIES, INC.</span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">CONDENSED CONSOLIDATED STATEMENTS OF INCOME</span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(In thousands, except per share amounts)</span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(Unaudited)</span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:75.730%;"><tr><td style="width:1.0%;"></td><td style="width:69.042%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.765%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:11.127%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.765%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:11.901%;"></td><td style="width:1.0%;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Revenues:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses and royalties</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ie891a1616a7a4c018ac10300638907dc_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMy0yLTEtMS0w_6fb75c67-8b43-4f1f-9719-23049cc32483">18,737</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i4ae494fe3fc54cebb5b97d00059ab11b_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMy00LTEtMS0w_1e79c23c-0523-4b38-a51e-4ba3cf91e20a">21,793</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Subscriptions</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i52db7fb94e9a43d3a090841e603a1f22_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfNC0yLTEtMS0w_2d481136-2720-486d-a68e-815e8ca97d12">81,723</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ife3e03665cb644d2b0fe0812b3be1710_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfNC00LTEtMS0w_232dd975-1e52-4a85-a96f-a0f6769b60ad">67,275</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i22ad0df49d924893a3577a4c019909df_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfNS0yLTEtMS0w_e7bed69c-349c-4451-987b-2fdf30e83198">52,133</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i922ed0a0756c470085fe495091639d66_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfNS00LTEtMS0w_138d0af8-ee41-497c-bbfb-c5b2e11bc6cb">48,443</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Maintenance</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i240b9b798d9f4a78bc53dc123e9d7930_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfNi0yLTEtMS0w_57cb67f9-96f9-4010-b3a1-e973a1dd0ade">114,365</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ia1be6fa6298c4d629677609ef41783ea_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfNi00LTEtMS0w_0fc797bf-94ba-49b1-b8ff-708537c59017">100,152</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ie84c2a45cd6a4877a7182c409a4cc863_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfNy0yLTEtMS0w_119f9e80-83c8-4b36-8277-7f2452ab4ba2">5,763</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ie1b58e04a8b34027811767211b7fabc2_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfNy00LTEtMS0w_9ce5ab12-9f4f-42e5-a1c6-66ae39930e50">5,214</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i22724b43d60848c9abd198a90227d9a3_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfOC0yLTEtMS0w_453bfec6-0cc8-4ce7-9a43-a4b79dc1bd6e">3,820</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i2f2225f563434ad48ae0773f6485d362_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfOC00LTEtMS0w_f17f151a-1101-4f5f-9137-a9a54e54adf0">4,189</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:54pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfOS0yLTEtMS0w_61167321-665d-4d89-8337-18ddb0395c46">276,541</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfOS00LTEtMS0w_8161fdc0-42ac-47f5-a329-219dd59e5b95">247,066</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cost of revenues:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses and royalties</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ie891a1616a7a4c018ac10300638907dc_D20200101-20200331" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTItMi0xLTEtMA_3cac5f7e-2c89-4696-a24c-37759a2cebe6">740</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i4ae494fe3fc54cebb5b97d00059ab11b_D20190101-20190331" decimals="-3" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTItNC0xLTEtMA_fad394d7-b455-42e6-b4b7-f19146d581e2">818</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Acquired software</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i438de681cc894bc2901b4986acb88cd9_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTMtMi0xLTEtMA_c65f39ed-fdf4-4898-8827-9a78e3989b52">8,027</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3d1df32ae61c4d9195656acb516102f8_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTMtNC0xLTEtMA_3d7efa44-d27d-47ab-967d-bdc6bc8e21b8">6,682</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services, maintenance and subscriptions</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="if1a1e6c97d224c17a27f96bcd025b788_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTQtMi0xLTEtMA_80fd79d9-4e4c-4f52-8999-e7d479238390">131,779</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ifbfe303c068f4c138370d434322e9859_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTQtNC0xLTEtMA_6b936958-f3e8-4c42-832b-f891c7627643">117,160</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ie84c2a45cd6a4877a7182c409a4cc863_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTUtMi0xLTEtMA_4cdbd03c-8f50-4127-92de-df3f8f300863">4,385</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ie1b58e04a8b34027811767211b7fabc2_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTUtNC0xLTEtMA_a5c2176e-7665-47fc-bb69-a7de074a1416">3,452</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i22724b43d60848c9abd198a90227d9a3_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTYtMi0xLTEtMA_c8bf7b94-adde-4999-9e26-1853598be1e1">2,479</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i2f2225f563434ad48ae0773f6485d362_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTYtNC0xLTEtMA_780f578b-770f-47f3-af42-655fb19a84f9">2,906</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:54pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total cost of revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTctMi0xLTEtMA_594bdbc9-3582-4812-a790-113143f6070d">147,410</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CostOfGoodsAndServicesSold" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTctNC0xLTEtMA_941f68b6-ffb7-4ece-bd0a-7ebb88d85356">131,018</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:36pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Gross profit</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTktMi0xLTEtMA_4e7e44ef-5e6a-42a9-82ab-1c0bcdeee8d2">129,131</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:GrossProfit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTktNC0xLTEtMA_f8424c3d-0485-4fee-a330-db2905e79861">116,048</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Selling, general and administrative expenses</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjEtMi0xLTEtMA_f3bc0981-1e36-4e21-b25d-f763a3efd9b8">67,485</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SellingGeneralAndAdministrativeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjEtNC0xLTEtMA_d8c71596-8f63-448a-8820-f97eddd885f8">57,766</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Research and development expense</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjItMi0xLTEtMA_d651c416-52b6-401e-bebf-2a9a840f94e1">22,361</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjItNC0xLTEtMA_deb0d180-03e8-4cd1-88f8-5c46805ef6a5">18,941</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amortization of other intangibles</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjMtMi0xLTEtMA_ba94980d-6f14-49b2-97af-2e0e9059a54a">5,392</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjMtNC0xLTEtMA_ce57b227-7eaf-44e6-89df-54eb8f543e59">4,850</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:36pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating income</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjUtMi0xLTEtMA_82ab0b99-8ff5-42dd-873f-7cf5361f790e">33,893</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjUtNC0xLTEtMA_bd09f1ed-6b14-48ff-ba4d-a8f8133a9d35">34,491</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other income, net</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjctMi0xLTEtMA_7ae9ef07-35d8-4ac9-ab0c-5864f0167d69">990</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjctNC0xLTEtMA_82fa5191-9766-43e6-a28a-0a925bd4676a">586</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Income before income taxes</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjgtMi0xLTEtMA_64c1b889-2f98-4c4e-a7cb-d2ec3c23ddb5">34,883</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjgtNC0xLTEtMA_8bbd9b21-2d3e-4b30-871f-202c3b5d18b7">35,077</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Income tax (benefit) provision </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjktMi0xLTEtMA_94117ec0-9412-4c54-b901-16972cf1cd7f">12,667</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjktNC0xLTEtMA_02347b87-ed53-47c4-bfdd-2b329f7025e3">7,729</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:24.75pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net income</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMzAtMi0xLTEtMA_031fa37d-a203-4a2f-883b-32f10094dc3d">47,550</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMzAtNC0xLTEtMA_c74bfe51-a510-481b-ae4a-b423e9431ead">27,348</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="height:14pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Earnings per common share:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:24.75pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Basic</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usdPerShare" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMzMtMi0xLTEtMA_2f155b96-9818-44a4-8032-ee7fae16ef0c">1.20</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usdPerShare" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMzMtNC0xLTEtMA_522f8f8c-3cd3-4b5f-89ee-e650ed9e5c22">0.71</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:24.75pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Diluted</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usdPerShare" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMzQtMi0xLTEtMA_c0d83eb8-4e28-4af1-b267-435910342807">1.16</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usdPerShare" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMzQtNC0xLTEtMA_44d8acb0-22e5-4c86-bf77-8c055054f6b2">0.69</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr></table></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">See accompanying notes.</span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">2</span></div></div></div><hr style="page-break-after:always"/><div id="idedd8d3e0b164448a7aeb348636ed2a9_16"></div><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">TYLER TECHNOLOGIES, INC.</span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">CONDENSED CONSOLIDATED BALANCE SHEETS</span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(In thousands, except par value and share amounts)</span></div><div><span><br/></span></div><div><span><br/></span></div><div style="margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:86.988%;"><tr><td style="width:1.0%;"></td><td style="width:66.403%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.640%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:12.621%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.640%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:13.296%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">March 31, 2020 (unaudited)</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">ASSETS</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Current assets:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cash and cash equivalents</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMy0yLTEtMS0w_70e1e6c1-f0e7-430b-b79a-beda8207a28a">301,985</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMy00LTEtMS0w_aa78e477-a90e-4964-bd83-1a7b43e9ae49">232,682</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><div style="padding-left:11.25pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;">Accounts receivable (less allowance for losses and sales adjustments of $<ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNC0wLTEtMS0wL3RleHRyZWdpb246NTg3NzJhY2M5ZjZhNGUyOTg5Y2U0ZjM0MDBhOGQ2NDNfNjU5NzA2OTc2Njc3NQ_13e9060c-08ac-4b62-9d75-8f7a2650160c">6,470</ix:nonFraction> in 2020 and $<ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNC0wLTEtMS0wL3RleHRyZWdpb246NTg3NzJhY2M5ZjZhNGUyOTg5Y2U0ZjM0MDBhOGQ2NDNfNjU5NzA2OTc2Njc3MA_e0d5044b-e12b-4866-89cd-f7a173f0b012">5,738</ix:nonFraction> in 2019)</span></div></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNC0yLTEtMS0w_b6f82579-4ece-421d-9a71-3d64245213ab">318,144</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNC00LTEtMS0w_3218ab74-70dd-49aa-adae-6969dfc3a763">374,089</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Short-term investments</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermInvestments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNS0yLTEtMS0w_a2a871ca-f535-4b03-adac-4bf821f29cfe">38,250</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShortTermInvestments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNS00LTEtMS0w_967530b2-db0a-47a9-a3f7-302be579f561">39,399</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Prepaid expenses</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNi0yLTEtMS0w_f1b96408-1a1a-406e-9e6a-6772adefe0ff">33,964</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PrepaidExpenseCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNi00LTEtMS0w_44f5f733-b800-4e72-8af1-2161d3ad0d92">24,717</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Income tax receivable</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNy0yLTEtMS0w_50079de8-8dd8-40f0-b9c1-6d1b16b4c1a5">16,657</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNy00LTEtMS0w_5158d89b-f64f-41c7-8fc4-156bf0a2652e">6,482</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other current assets</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfOC0yLTEtMS0w_4826c4fb-21da-4eaa-a035-8f45012ef64b">3,220</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OtherAssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfOC00LTEtMS0w_27400433-e2e5-4271-a4dc-988ac6e59732">2,328</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:24.75pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total current assets</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfOS0yLTEtMS0w_74bccebd-94d8-468e-9bde-f92a276d00e9">712,220</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AssetsCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfOS00LTEtMS0w_84df8031-7b8a-4ff1-a360-949b9e47881b">679,697</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="height:12pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:12pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:12pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:12pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:12pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Accounts receivable, long-term</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTEtMi0xLTEtMA_369a4881-f90a-4feb-a4d6-d052ade240a7">21,394</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNetNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTEtNC0xLTEtMA_a36e3db1-007c-4c2c-8dae-ea87c5187fcf">22,432</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating lease right-of-use assets</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTItMi0xLTEtMA_3180d6c0-b8d1-4eb3-90e0-ae8e142afb17">17,992</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTItNC0xLTEtMA_186b34d0-829c-424e-bb5a-bfe4e1d2255e">18,992</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Property and equipment, net</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTMtMi0xLTEtMA_e6f11eab-3cc6-4f7e-bedb-eb7e41456a44">175,460</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PropertyPlantAndEquipmentNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTMtNC0xLTEtMA_381a4b62-489b-4ee1-a979-0b836c19726b">171,861</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other assets:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Goodwill</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTUtMi0xLTEtMA_109ddb9c-b429-4f5f-9da1-fb5c187585c0">840,028</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Goodwill" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTUtNC0xLTEtMA_68184bcc-bd8a-417d-a494-a366ba85f0d0">840,117</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other intangibles, net</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTYtMi0xLTEtMA_a6757a0f-f40a-42cb-b489-432fc85c3800">366,506</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTYtNC0xLTEtMA_0ff91c95-2556-48ce-8b37-c3ff45a77ef8">378,914</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-current investments and other assets</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentsAndOtherNoncurrentAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTctMi0xLTEtMA_32b957c4-a90c-4b74-97f3-8d829db380d8">85,776</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InvestmentsAndOtherNoncurrentAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTctNC0xLTEtMA_8a1a73ee-5c67-491d-a940-2b9f18f9de35">79,601</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;Total assets</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTgtMi0xLTEtMA_f32136b3-bc31-4a82-9e3d-dfebea9edc14">2,219,376</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:Assets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTgtNC0xLTEtMA_1a3e4723-2cac-419e-bad0-b1d76319075b">2,191,614</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="height:12pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:12pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:12pt;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:12pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:12pt;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">LIABILITIES AND SHAREHOLDERS' EQUITY</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Current liabilities:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Accounts payable</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjItMi0xLTEtMA_bba6d80e-e166-4d0c-93f1-f1f2ae7ce0c9">12,958</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccountsPayableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjItNC0xLTEtMA_412e9345-307d-4a02-84f5-6ad18cf74c21">14,977</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Accrued liabilities</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjMtMi0xLTEtMA_7c625bf3-3e0a-4c40-930d-22db27443c2f">59,765</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AccruedLiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjMtNC0xLTEtMA_9ba3e45c-9271-4fd1-b1b3-ab6375f653f3">75,234</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating lease liabilities</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjQtMi0xLTEtMA_817930b3-96de-409c-96a4-5f4eed5e6f0c">6,373</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjQtNC0xLTEtMA_d193bc52-417d-4f5a-aef0-1d7a1501f490">6,387</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Current income tax payable</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:zerodash" name="us-gaap:TaxesPayableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjUtMi0xLTEtMA_a8554922-94fd-4deb-8dd8-aded2f2dea5e">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:TaxesPayableCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjUtNC0xLTEtMA_39562e05-9674-4249-ab79-41f6b2876db5">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Deferred revenue</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjYtMi0xLTEtMA_520084e2-d7dc-4fe5-825e-ef01c2990211">365,959</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjYtNC0xLTEtMA_9aea4269-5d5b-4fb9-8ac3-e6780425997d">412,495</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:24.75pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total current liabilities</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjgtMi0xLTEtMA_a1ad424e-4c9e-4470-9b43-ae3ae5328fde">445,055</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjgtNC0xLTEtMA_0757e40f-3a09-42c2-9328-356bf1ec4682">509,093</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="height:12pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:12pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:12pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:12pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:12pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Revolving line of credit</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:zerodash" name="us-gaap:LongTermLineOfCredit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzAtMi0xLTEtMA_05c42697-8e7b-4bcb-af6c-17da5468b1cb">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:LongTermLineOfCredit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzAtNC0xLTEtMA_c66b01c4-0d15-4c2f-91fa-c6009bac53d1">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Deferred revenue, long-term</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzEtMi0xLTEtMA_d84d8d5f-2478-4180-9f71-636193d430cc">167</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" name="us-gaap:ContractWithCustomerLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzEtNC0xLTEtMA_a352f2c6-a8a4-4a90-af83-b3c9d9965a84">199</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Deferred income taxes</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzItMi0xLTEtMA_0079eddd-ebc4-49dd-aed9-e78eb152b8ce">45,774</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzItNC0xLTEtMA_c9e47e31-0f61-44a7-9ec9-c384a9f8006f">48,442</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating lease liabilities, long-term</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzMtMi0xLTEtMA_c2068421-b9bf-4c36-9383-68bf9726c51f">15,548</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzMtNC0xLTEtMA_fc6d2f87-4835-4508-8df8-e8a6c4cbe0d6">16,822</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="height:12pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:12pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:12pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:12pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:12pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Commitments and contingencies</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:zerodash" name="us-gaap:CommitmentsAndContingencies" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzUtMi0xLTEtMA_6520dc6c-93d9-463c-971f-7859ad4230d9">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:CommitmentsAndContingencies" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzUtNC0xLTEtMA_5a413148-a486-43fb-952a-a0fc625be672">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="height:12pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:12pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:12pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:12pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:12pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Shareholders' equity:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><div style="padding-left:11.25pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;">Preferred stock, $<ix:nonFraction unitRef="usdPerShare" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOjIzYjMzZWUxYjA1MDRmOWY4M2M4MzgxOGJmMWNmYjQ5XzY1OTcwNjk3NjY3NDE_ddc24bbd-ce08-48d9-b75f-a26c6b9198ff"><ix:nonFraction unitRef="usdPerShare" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="INF" name="us-gaap:PreferredStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOjIzYjMzZWUxYjA1MDRmOWY4M2M4MzgxOGJmMWNmYjQ5XzY1OTcwNjk3NjY3NDE_fd9aa06a-58fc-43ac-b0c0-3969b6d52409">10.00</ix:nonFraction></ix:nonFraction> par value; <ix:nonFraction unitRef="shares" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOjIzYjMzZWUxYjA1MDRmOWY4M2M4MzgxOGJmMWNmYjQ5XzY1OTcwNjk3NjY3NTI_184f1cc3-df6f-4824-8641-9e6e5e147293"><ix:nonFraction unitRef="shares" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:PreferredStockSharesAuthorized" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOjIzYjMzZWUxYjA1MDRmOWY4M2M4MzgxOGJmMWNmYjQ5XzY1OTcwNjk3NjY3NTI_7ff6fc83-7fe9-4c43-b1c8-fb3f72f5c343">1,000,000</ix:nonFraction></ix:nonFraction> shares authorized; <ix:nonFraction unitRef="shares" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesIssued" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOjIzYjMzZWUxYjA1MDRmOWY4M2M4MzgxOGJmMWNmYjQ5XzY1OTcwNjk3NjY3NTg_0fcc4d66-1634-427d-a784-fc6decc1666f"><ix:nonFraction unitRef="shares" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:PreferredStockSharesIssued" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOjIzYjMzZWUxYjA1MDRmOWY4M2M4MzgxOGJmMWNmYjQ5XzY1OTcwNjk3NjY3NTg_cef57ca0-f240-4052-98a1-c18b0999b708">none</ix:nonFraction></ix:nonFraction> issued</span></div></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:zerodash" name="us-gaap:PreferredStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzgtMi0xLTEtMA_134cb2c5-bec5-40d8-8333-b5c2c175b09f">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:zerodash" name="us-gaap:PreferredStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzgtNC0xLTEtMA_aa8cceff-5b49-4ec7-893b-550c0929a713">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><div style="text-indent:13.5pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;">Common stock, $<ix:nonFraction unitRef="usdPerShare" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzktMC0xLTEtMC90ZXh0cmVnaW9uOjFkZjAwNzdjMjBkYjQ1MzA4NjU5NTIwMGNjZjlkNDhhXzY1OTcwNjk3NjcwMDg_0cce93f2-1e75-4f50-9b39-0455a903027f"><ix:nonFraction unitRef="usdPerShare" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="INF" name="us-gaap:CommonStockParOrStatedValuePerShare" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzktMC0xLTEtMC90ZXh0cmVnaW9uOjFkZjAwNzdjMjBkYjQ1MzA4NjU5NTIwMGNjZjlkNDhhXzY1OTcwNjk3NjcwMDg_258df59c-7da6-46ec-9135-8c64f60d0e4a">0.01</ix:nonFraction></ix:nonFraction> par value; <ix:nonFraction unitRef="shares" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzktMC0xLTEtMC90ZXh0cmVnaW9uOjFkZjAwNzdjMjBkYjQ1MzA4NjU5NTIwMGNjZjlkNDhhXzY1OTcwNjk3NjcwMjE_1f7a6f87-3bee-4fab-822c-dad3d2b42c2c"><ix:nonFraction unitRef="shares" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesAuthorized" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzktMC0xLTEtMC90ZXh0cmVnaW9uOjFkZjAwNzdjMjBkYjQ1MzA4NjU5NTIwMGNjZjlkNDhhXzY1OTcwNjk3NjcwMjE_d5d2661a-f89a-42ec-9365-f62f7394b235">100,000,000</ix:nonFraction></ix:nonFraction> shares authorized; <ix:nonFraction unitRef="shares" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzktMC0xLTEtMC90ZXh0cmVnaW9uOjFkZjAwNzdjMjBkYjQ1MzA4NjU5NTIwMGNjZjlkNDhhXzY1OTcwNjk3NjcwMzM_43870523-e7ac-4d7f-a09c-9bb084f4cd9a"><ix:nonFraction unitRef="shares" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzktMC0xLTEtMC90ZXh0cmVnaW9uOjFkZjAwNzdjMjBkYjQ1MzA4NjU5NTIwMGNjZjlkNDhhXzY1OTcwNjk3NjcwMzM_b6440546-2e48-4ca3-b94b-bcd08ba633f9"><ix:nonFraction unitRef="shares" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesOutstanding" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzktMC0xLTEtMC90ZXh0cmVnaW9uOjFkZjAwNzdjMjBkYjQ1MzA4NjU5NTIwMGNjZjlkNDhhXzY1OTcwNjk3NjcwMzM_fbe5d078-e07d-4634-9f2a-b9c2b3007ee9"><ix:nonFraction unitRef="shares" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:CommonStockSharesIssued" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzktMC0xLTEtMC90ZXh0cmVnaW9uOjFkZjAwNzdjMjBkYjQ1MzA4NjU5NTIwMGNjZjlkNDhhXzY1OTcwNjk3NjcwMzM_fc99de3f-377b-41e7-aed5-ea19f15f81e5">48,147,969</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> shares issued and outstanding as of March 31, 2020 and December 31, 2019</span></div></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzktMi0xLTEtMA_e2c5ced8-55b2-4478-b5ca-9f4e9a2465ad">481</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" name="us-gaap:CommonStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzktNC0xLTEtMA_1feec846-8ce4-40ad-9417-3fb3d27365b3">481</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Additional paid-in capital</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDAtMi0xLTEtMA_6154ab02-9fb7-44c0-b9bf-c1e7baea3eee">798,089</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdditionalPaidInCapitalCommonStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDAtNC0xLTEtMA_9294ded3-a69a-489a-92ec-64dee13fe8e5">739,478</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Accumulated other comprehensive loss, net of tax</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDEtMi0xLTEtMA_8fff71e4-bb52-4aae-bf3c-0b5ee5963c12">46</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" sign="-" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDEtNC0xLTEtMA_817a5bc9-f01e-4b4d-83d3-6c2778d169ca">46</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Retained earnings</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDItMi0xLTEtMA_6eb2b49b-c5ee-4047-85ea-aa882c423171">964,886</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RetainedEarningsAccumulatedDeficit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDItNC0xLTEtMA_26d72187-4226-4140-ace2-c91641fc62b2">917,336</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><div style="padding-left:11.25pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%;">Treasury stock, at cost; <ix:nonFraction unitRef="shares" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockShares" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDMtMC0xLTEtMC90ZXh0cmVnaW9uOjdmYTE1NTVlMzQyOTQ1Y2I5MWZmMDY5OGU2NWM5MDY1XzY1OTcwNjk3NjY3NTQ_4d376093-43c6-428d-a3e6-c81ec0541727">8,397,086</ix:nonFraction> and <ix:nonFraction unitRef="shares" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockShares" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDMtMC0xLTEtMC90ZXh0cmVnaW9uOjdmYTE1NTVlMzQyOTQ1Y2I5MWZmMDY5OGU2NWM5MDY1XzY1OTcwNjk3NjY3NDk_3e71e050-3bf4-4004-b27c-3c5ad7171a19">8,839,352</ix:nonFraction> shares in 2020 and 2019, respectively</span></div></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDMtMi0xLTEtMA_b67b0849-22f5-4727-bcdb-bffa7566a62d">50,578</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDMtNC0xLTEtMA_86e5db0e-7e8a-48c4-bf8f-86378327ab03">40,191</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:24.75pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total shareholders' equity</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDQtMi0xLTEtMA_545a6ba8-b07a-4005-9160-8f00191aa382">1,712,832</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDQtNC0xLTEtMA_d1fb7ff4-20b4-49d0-ac79-65d886ee5ef4">1,617,058</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;Total liabilities and shareholders' equity</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDUtMi0xLTEtMA_95038162-3866-4a0b-acea-99a0acd523b6">2,219,376</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LiabilitiesAndStockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDUtNC0xLTEtMA_21c291b3-2f2a-4a80-a1d9-0dbed621717a">2,191,614</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">See accompanying notes.</span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">3</span></div></div></div><hr style="page-break-after:always"/><div id="idedd8d3e0b164448a7aeb348636ed2a9_22"></div><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">TYLER TECHNOLOGIES, INC.</span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(In thousands)</span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(Unaudited)</span></div><div style="margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:99.853%;"><tr><td style="width:1.0%;"></td><td style="width:71.060%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.532%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.737%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.532%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.739%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cash flows from operating activities:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net income</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMy0yLTEtMS0w_002eac9d-e4de-4f14-9840-46f51a92a1c0">47,550</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMy00LTEtMS0w_2596f0fb-e4b3-4a7e-871f-62d761c4d072">27,348</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Adjustments to reconcile net income to cash provided by operating activities:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:24.75pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Depreciation and amortization</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfNS0yLTEtMS0w_a5e61b0f-5fbf-444e-b357-c429b9b9a9d7">19,985</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:DepreciationDepletionAndAmortization" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfNS00LTEtMS0w_00c8cbdb-8ce7-4e0b-8e34-acfc14512993">17,308</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:24.75pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Share-based compensation expense</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfNi0yLTEtMS0w_8178d3c0-df20-47d5-a90d-646685cc2565">17,302</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfNi00LTEtMS0w_5764bafa-5eab-4bbc-9d5d-2a992378c64a">14,416</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:24.75pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating lease right-of-use assets expense</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="tyl:OperatingLeaseRightOfUseAssetsNonCash" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfNy0yLTEtMS0w_fda28d6a-7842-4d16-b8c3-16844fec99ea">1,457</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="tyl:OperatingLeaseRightOfUseAssetsNonCash" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfNy00LTEtMS0w_6a3c5250-5bb3-41b6-a1a2-3c6c64b78d87">1,165</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:24.75pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Deferred income tax benefit</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfOC0yLTEtMS0w_9af7286d-4a1f-4e60-be33-6c07dacef849">2,668</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:DeferredIncomeTaxExpenseBenefit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfOC00LTEtMS0w_ecba10ba-ea22-45ce-98fd-b40b45cbb300">4,785</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Changes in operating assets and liabilities, exclusive of effects of<br/>&#160;&#160; acquired companies:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:36pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Accounts receivable</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTAtMi0xLTEtMA_b518afe1-3b97-48ee-a8e9-c34ea2f5da02">56,982</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsReceivable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTAtNC0xLTEtMA_42ea0d4e-ae8f-406a-b8b5-49da3e52fc8b">9,622</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:36pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Income tax receivable</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTEtMi0xLTEtMA_3d70f286-a6cb-4fa5-a2cb-4ab9f75aedd0">10,175</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTEtNC0xLTEtMA_f88645a0-f63f-46eb-b608-a2a0cabd1940">12,425</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:36pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Prepaid expenses and other current assets</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTItMi0xLTEtMA_5bab13e3-cfd9-494d-a9b8-e795a6ad47db">11,186</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTItNC0xLTEtMA_e585f741-bdeb-4696-a4b7-7a737b23e759">3,862</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:36pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Accounts payable</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTMtMi0xLTEtMA_9fd1db46-5c92-42e9-9af0-07567e84b4c9">2,020</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccountsPayable" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTMtNC0xLTEtMA_b970a179-bdfa-4714-be21-18c80ed96ab5">1,501</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:36pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="tyl:IncreaseDecreaseInOperatingLeaseLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTQtMi0xLTEtMA_987b9b17-0fe2-4862-8c44-389ba2fcf3d8">1,743</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="tyl:IncreaseDecreaseInOperatingLeaseLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTQtNC0xLTEtMA_b1144afb-0261-45d4-8760-fdd256472bdd">1,272</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:36pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Accrued liabilities</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTUtMi0xLTEtMA_51b93630-e0d7-4dce-a448-b4470d826ec2">12,210</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInAccruedLiabilities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTUtNC0xLTEtMA_a1ddd68d-69a9-441b-95ec-41658ac28cfd">3,760</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:36pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Deferred revenue</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTYtMi0xLTEtMA_a65e3fc9-5a81-49d9-a251-f9ea8bcf4bbc">46,568</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:IncreaseDecreaseInContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTYtNC0xLTEtMA_8c423888-f975-429c-84da-dfb29913feb3">43,147</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:54pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net cash provided by operating activities</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTctMi0xLTEtMA_7f0ea97c-1de0-4da1-8b9f-ac59d8562aec">56,706</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTctNC0xLTEtMA_01d794ba-514e-4b58-9a32-ce7f38332715">23,957</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cash flows from investing activities:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Additions to property and equipment</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjAtMi0xLTEtMA_8da57646-1001-4817-921d-d751108f6eb4">9,349</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjAtNC0xLTEtMA_fe6803f2-8dfb-497a-b075-fce946d46548">12,320</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Purchase of marketable security investments</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireMarketableSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjEtMi0xLTEtMA_24a031d9-3678-41e0-86cd-fe1336b6fd9f">27,271</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireMarketableSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjEtNC0xLTEtMA_ea33c886-be64-4e5a-b967-ed33e3d2d426">3,590</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Proceeds from marketable security investments</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjItMi0xLTEtMA_56121b39-542e-4967-8718-d6298de3158c">18,237</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjItNC0xLTEtMA_e86d7356-56e0-4927-9b43-df27ca9d274b">20,276</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Purchase of investment in common shares</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjQtMi0xLTEtMTY1OQ_045126bc-b2e3-4f17-8af7-e4ba7088eb43">10,000</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-6" format="ixt:zerodash" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjQtNC0xLTEtMjUwNw_5d4e87f6-3a68-4497-94f7-74cddd4566f6">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Proceeds from the sale of investment in preferred shares</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfEquityMethodInvestments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjUtMi0xLTEtMTY1NQ_b8ab5e23-ecc9-49f8-b8f6-29c8605f4926">15,000</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-6" format="ixt:zerodash" name="us-gaap:ProceedsFromSaleOfEquityMethodInvestments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjUtNC0xLTEtMjUxMQ_aa3524b9-4a24-4577-9461-31f9d5ddee43">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Investment in software</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForSoftware" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjMtMi0xLTEtMA_81c50bca-b41b-4743-9e82-e9102af7f676">1,315</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" name="us-gaap:PaymentsForSoftware" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjMtNC0xLTEtMA_4ea58ca6-6772-431d-8e67-ba76f866fde0">690</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cost of acquisitions, net of cash acquired</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjQtMi0xLTEtMA_811fcec2-e02e-44aa-83d5-2cd6e27ecac7">261</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjQtNC0xLTEtMA_ed087e6a-dc6e-4ec6-a0d5-43d81e539df3">199,130</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(Increase) decrease in other</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" name="us-gaap:PaymentsForProceedsFromOtherInvestingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjUtMi0xLTEtMA_73e652da-8a28-428f-841a-24db4f686100">48</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" sign="-" name="us-gaap:PaymentsForProceedsFromOtherInvestingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjUtNC0xLTEtMA_a5f4ecc8-bf22-48eb-84f6-bee943c335f1">564</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:54pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net cash used by investing activities</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjYtMi0xLTEtMA_23240026-3a50-4bac-adaf-98ce4c7f66fe">15,007</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjYtNC0xLTEtMA_b7acfce6-9cc3-4228-bc5c-af27e4e2d6f3">194,890</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="height:14pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cash flows from financing activities:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Increase in net borrowings on revolving line of credit </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:zerodash" name="us-gaap:ProceedsFromLinesOfCredit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzAtMi0xLTEtMTA0NA_58ba0842-e7d5-4448-9371-7da71b2d4b33">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromLinesOfCredit" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzAtNC0xLTEtOTA0_251192d4-3192-4960-aa28-5d10cfedc3bf">85,000</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Purchase of treasury shares</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjktMi0xLTEtMA_d1ea93cf-26b6-4a1e-a539-01ccc5a00d74">15,482</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentsForRepurchaseOfCommonStock" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjktNC0xLTEtMA_28dad873-14d2-4611-8fab-544e743949e8">17,786</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Payment of contingent consideration</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzQtMi0xLTEtMTY0Mg_a6776f1c-947a-42d1-94da-d84e60ce1d61">5,619</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"></span></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:zerodash" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzQtNC0xLTEtMjUxNw_20c0d9ba-805f-43ce-bbca-8fc24efdbcb9">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Proceeds from exercise of stock options</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzAtMi0xLTEtMA_d6b6d338-ddbf-48eb-acf4-ecb5027c48e6">46,236</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzAtNC0xLTEtMA_6041c0e7-ce2c-4a1b-83ea-9fee60be80a1">6,528</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Contributions from employee stock purchase plan</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockPlans" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzEtMi0xLTEtMA_21de2d40-b7e1-47da-a0a8-096c6a8ee030">2,469</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromStockPlans" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzEtNC0xLTEtMA_e5a59687-ab4e-42a7-ac41-1a92ed0162a8">2,349</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:54pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net cash provided by financing activities</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzItMi0xLTEtMA_eedd5410-1343-4dd6-9e5f-b5d75f805e92">27,604</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzItNC0xLTEtMA_0525d80a-7f83-4d46-ae1b-25f695d2f5e3">76,091</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="height:14pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net increase (decrease) in cash and cash equivalents</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzQtMi0xLTEtMA_a4e49db7-62fd-4471-ac47-f721e89c69af">69,303</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzQtNC0xLTEtMA_953558ac-90c9-44dc-b8b5-ab3f748fd068">94,842</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cash and cash equivalents at beginning of period</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzUtMi0xLTEtMA_62d4aa99-2e75-4dfa-8fb7-132bc663179b">232,682</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="if0aa42e674be4ee2b3de1fc28e9907d9_I20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzUtNC0xLTEtMA_169dce3b-ddcf-4022-a0d9-e71f2035cb5e">134,279</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cash and cash equivalents at end of period</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzYtMi0xLTEtMA_6755ef96-2272-4682-b4c9-bb6a16915c6e">301,985</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i6775188fc49547f38d76e5875298883c_I20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzYtNC0xLTEtMA_5df2e509-c19a-412e-bdd3-d9ae7da69bfd">39,437</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">See accompanying notes.</span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">4</span></div></div></div><hr style="page-break-after:always"/><div id="idedd8d3e0b164448a7aeb348636ed2a9_25"></div><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="text-align:center;"><span><br/></span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">TYLER TECHNOLOGIES, INC.</span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"> CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY</span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(In thousands)</span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(Unaudited)</span></div><div style="text-align:center;margin-top:6pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"></td><td style="width:24.900%;"></td><td style="width:1.0%;"></td><td style="width:1.0%;"></td><td style="width:4.432%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.530%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:4.578%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.530%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:6.187%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.530%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.134%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.530%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:5.748%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.530%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:6.333%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.530%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:6.625%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.530%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:7.953%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Common Stock</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" rowspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Additional<br/>Paid-in<br/>Capital</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" rowspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Accumulated Other<br/>Comprehensive<br/>Income (Loss)</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" rowspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Retained<br/>Earnings</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Treasury Stock</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" rowspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total<br/>Shareholders'<br/>Equity</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Shares</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Shares</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance at December 31, 2019</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="shares" contextRef="i95c1e77adfe44862b1f0c39f244aed0f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfMi0xLTEtMS0w_2fbd101c-a340-4f1f-b8c5-c435c9410ed9">48,148</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i95c1e77adfe44862b1f0c39f244aed0f_I20191231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfMi0zLTEtMS0w_924851d9-48a5-4f57-aa3d-7877c00f9289">481</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ib1ae2ee3e9d64c76a151fda0af049d4f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfMi01LTEtMS0w_0482e83c-90ed-45ed-8209-b603e5e5ef67">739,478</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="ie25bb76b60504372b3811134dade1ad5_I20191231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfMi03LTEtMS0w_d6981d89-23f5-4851-b29a-09328e01ad84">46</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="iad2144fd9ddf41b78c9aa4cc22f802b1_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfMi05LTEtMS0w_1b2ec1e4-06cb-4950-a2a2-b961092907b1">917,336</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="shares" contextRef="ia9960cd07d2f45aa8592a4abbb6c5e64_I20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:SharesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfMi0xMS0xLTEtMA_99e82b4a-716d-47b3-80be-2ad55d5f059d">8,839</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="ia9960cd07d2f45aa8592a4abbb6c5e64_I20191231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfMi0xMy0xLTEtMA_e2493aed-5a5c-4ab7-9ca6-4af1a87a37d8">40,191</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfMi0xNS0xLTEtMA_82e96e07-05dd-4e24-9c83-7f37b8e10646">1,617,058</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net income</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfMy05LTEtMS0w_d5bb814a-5ce3-4248-8d88-90d1e7d3298c">47,550</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfMy0xNS0xLTEtMA_318d436e-650e-44f0-bc8e-016221260dda">47,550</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Exercise of stock options and vesting of restricted stock units</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i0f0aa7b030d5468794b7b725a707046b_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNC01LTEtMS0w_87a8203c-993d-4312-83f4-0a7b07012fbb">38,942</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="shares" contextRef="i8f656cef9217415fb6511287294b8ec7_D20200101-20200331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNC0xMS0xLTEtMA_103a9533-14e6-49f0-9c8a-a2814c77243f">498</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i8f656cef9217415fb6511287294b8ec7_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNC0xMy0xLTEtMA_c7ea3008-6853-4652-9c41-4a2d87a892f9">7,294</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNC0xNS0xLTEtMA_17b9f4d2-0e75-4df7-8903-5e1903c1024b">46,236</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Employee taxes paid for withheld shares upon equity award settlement</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="shares" contextRef="i8f656cef9217415fb6511287294b8ec7_D20200101-20200331" decimals="-3" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNS0xMS0xLTEtMA_2052ccc8-0b4b-49a8-9c36-3407f71d6541">7</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i8f656cef9217415fb6511287294b8ec7_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNS0xMy0xLTEtMA_0d38bc6d-16c4-4408-99e9-5f960580d914">2,301</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNS0xNS0xLTEtMA_1472f698-3313-4f20-b6e6-60038587798d">2,301</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Stock compensation</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i0f0aa7b030d5468794b7b725a707046b_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNi01LTEtMS0w_501e0584-adfd-4c89-9481-ef835f19f8fe">17,302</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNi0xNS0xLTEtMA_9526e94d-6098-4efd-b8ef-6ffb4a4b428f">17,302</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Issuance of shares pursuant to employee stock purchase plan</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i0f0aa7b030d5468794b7b725a707046b_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNy01LTEtMS0w_003a8c50-5740-4806-b9ae-8c78cc2192ba">2,367</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="shares" contextRef="i8f656cef9217415fb6511287294b8ec7_D20200101-20200331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNy0xMS0xLTEtMA_7c3829b2-e723-42d2-9762-e82fa95bab1e">10</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i8f656cef9217415fb6511287294b8ec7_D20200101-20200331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNy0xMy0xLTEtMA_81caa2ba-0cb7-4268-87d5-afa668b7d0a1">102</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNy0xNS0xLTEtMA_1b1ef56a-d063-4317-90a3-450beb563f3f">2,469</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Treasury stock purchases</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="shares" contextRef="i8f656cef9217415fb6511287294b8ec7_D20200101-20200331" decimals="-3" name="us-gaap:TreasuryStockSharesAcquired" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOC0xMS0xLTEtMA_36b7023b-98bc-4647-9eb3-5f649f28de5f">59</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i8f656cef9217415fb6511287294b8ec7_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOC0xMy0xLTEtMA_4810bde6-416a-4852-b577-4bf3925fb9d2">15,482</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOC0xNS0xLTEtMA_6f92b0a7-87d5-4a10-9414-3184c3094f50">15,482</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance at March 31, 2020</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="shares" contextRef="ic429cf54cd604fbfbcc28f5998d31c49_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOS0xLTEtMS0w_2a5d91e5-e7f9-48f4-b8cd-c45ee79c4420">48,148</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic429cf54cd604fbfbcc28f5998d31c49_I20200331" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOS0zLTEtMS0w_257458ac-5aac-42bf-8f57-d7a77da847f5">481</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i0c7cf5f6fc2f4c89b71ef2c6e97c6de1_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOS01LTEtMS0w_0c2be66f-3576-4846-9976-a6e5eb7ce9da">798,089</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i4eb70c93f4fa411bad86bd10d674cb0e_I20200331" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOS03LTEtMS0w_d9517830-8192-4326-af7a-dc29f654ce4d">46</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i2701f41b4d2a449fa56cc719ab107f93_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOS05LTEtMS0w_9e1b9893-c3fc-486b-8fdd-ae9f28edec27">964,886</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="shares" contextRef="ia089920120cf4415a75c227608672f35_I20200331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:SharesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOS0xMS0xLTEtMA_502e7032-aa7c-4a2e-a8da-ce0e1a94fada">8,397</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="ia089920120cf4415a75c227608672f35_I20200331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOS0xMy0xLTEtMA_ff8e639c-4e1a-4ebf-953b-26088570a92f">50,578</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOS0xNS0xLTEtMA_9af68f61-5a5e-4b77-b8e2-94a2b114f20b">1,712,832</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="text-align:center;margin-top:6pt;margin-bottom:6pt;"><span><br/></span></div><div style="text-align:center;margin-top:6pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"></td><td style="width:24.461%;"></td><td style="width:1.0%;"></td><td style="width:1.0%;"></td><td style="width:4.432%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.530%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:4.578%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.530%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:7.356%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.530%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:9.257%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.530%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:5.748%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.530%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:6.333%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.530%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:6.771%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.530%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:7.954%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Common Stock</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" rowspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Additional<br/>Paid-in<br/>Capital</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" rowspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Accumulated Other<br/>Comprehensive<br/>Income (Loss)</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" rowspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Retained<br/>Earnings</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Treasury Stock</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" rowspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total<br/>Shareholders'<br/>Equity</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Shares</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Shares</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance at December 31, 2018 </span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="shares" contextRef="i452e52ac341a45d3b1b7a595f341be00_I20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMi0xLTEtMS0w_d98b63b5-ae0e-4d9c-8639-98f598eeaa7b">48,148</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i452e52ac341a45d3b1b7a595f341be00_I20181231" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMi0zLTEtMS0w_f5c4573e-d4c6-4761-9a1d-0b03a7d0889c">481</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i4c971661448d4f03ae15450aa38f9645_I20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMi01LTEtMS0w_aaf21b64-dc78-4c1a-9a4a-3482850f2901">731,435</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="ic0ea1645202a41c992e1d5f88b7728d9_I20181231" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMi03LTEtMS0w_e1992a75-93c1-47c9-a1c1-ba68e7c9aeb9">46</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i42fd642707964f51b3582e09c9a0601f_I20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMi05LTEtMS0w_b6a60878-29e7-4dc5-9374-48805b6ec56a">771,925</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="shares" contextRef="i2666add8085f4d34a75aabc4979b5b39_I20181231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:SharesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMi0xMS0xLTEtMA_d5072a03-6894-4984-81a7-82a407cdbc91">9,872</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i2666add8085f4d34a75aabc4979b5b39_I20181231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMi0xMy0xLTEtMA_f038b445-3ed8-4569-ba80-9a3ad82f2c6e">178,949</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="if0aa42e674be4ee2b3de1fc28e9907d9_I20181231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMi0xNS0xLTEtMA_43030598-3a00-46fe-9611-1c39274721f6">1,324,846</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Retained earnings adjustment-adoption of Topic 842 Leases, net of taxes</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i7c228c8cb37f4258a6bd465af9068c44_I20181231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMy05LTEtMS0w_2b2bb745-daf6-48b9-9d70-d7aac6222b4a">1,116</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="ie55cea4470ba4158b99ac9d7f8f15f4f_I20181231" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMy0xNS0xLTEtMA_725d643e-22ef-4deb-ae5e-484cd5dad6a8">1,116</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net income</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i4edd9cb5659c4b07b965e45ff62e66ac_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNC05LTEtMS0w_9586b072-6224-4626-a53e-e30b0dcddc8c">27,348</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNC0xNS0xLTEtMA_654ebb2f-bedb-41db-9337-d2ba6876735e">27,348</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Exercise of stock options and vesting of restricted stock units</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="iefb48e54a90e4732af812d5d82572982_D20190101-20190331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNS01LTEtMS0w_00fac1d2-487a-439c-be81-937490a57465">14,405</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="shares" contextRef="i63a912e4a674459c9231a2b270a61ce5_D20190101-20190331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNS0xMS0xLTEtMA_563278d8-dacd-47d4-8952-b6340559d0e9">111</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i63a912e4a674459c9231a2b270a61ce5_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNS0xMy0xLTEtMA_0c7f38a9-8462-4be2-aefa-048ef403638b">20,933</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNS0xNS0xLTEtMA_137059dd-d2e0-4d7d-9890-0c5cdb3a0ee3">6,528</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Employee taxes paid for withheld shares for taxes upon equity award</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="shares" contextRef="i63a912e4a674459c9231a2b270a61ce5_D20190101-20190331" decimals="-3" name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNi0xMS0xLTEtMA_de396601-522c-4714-8b30-4ba21139ad94">7</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i63a912e4a674459c9231a2b270a61ce5_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNi0xMy0xLTEtMA_b3f0a969-63e5-4c35-8a10-f83f3875e4df">1,337</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNi0xNS0xLTEtMA_6a468448-407d-407e-b520-fb7f43e17fc2">1,337</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Stock compensation</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="iefb48e54a90e4732af812d5d82572982_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNy01LTEtMS0w_606ec0fb-f524-4e43-86c7-8f2d88e6b8e2">14,416</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNy0xNS0xLTEtMA_2329b1da-bd8e-4c79-a5aa-ef1233c2fb55">14,416</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Issuance of shares pursuant to employee stock purchase plan</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="iefb48e54a90e4732af812d5d82572982_D20190101-20190331" decimals="-3" sign="-" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfOC01LTEtMS0w_be7f19b6-939d-4f90-b783-2b95655cff46">373</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="shares" contextRef="i63a912e4a674459c9231a2b270a61ce5_D20190101-20190331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfOC0xMS0xLTEtMA_ceaeb842-68a0-400d-9a18-d2d2f085ec97">15</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i63a912e4a674459c9231a2b270a61ce5_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfOC0xMy0xLTEtMA_963d2fcd-7c56-4cc9-94aa-090a50315643">2,722</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfOC0xNS0xLTEtMA_aa5ef464-8a66-4d54-8d9c-944656f55aeb">2,349</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Treasury stock purchases</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="shares" contextRef="i63a912e4a674459c9231a2b270a61ce5_D20190101-20190331" decimals="-3" name="us-gaap:TreasuryStockSharesAcquired" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfOS0xMS0xLTEtMA_287e6623-34f0-479c-8543-8a471daacfa0">72</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i63a912e4a674459c9231a2b270a61ce5_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfOS0xMy0xLTEtMA_c4e9dbe6-3c4a-44f6-b73d-839741b45806">14,289</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfOS0xNS0xLTEtMA_dbe9ee82-41f7-486b-b05f-cf80ae030718">14,289</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance at March 31, 2019</span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="shares" contextRef="ic28c914a66344b88a58d0be2b67a426b_I20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:SharesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMTAtMS0xLTEtMA_f61a2d9d-44d9-427d-986b-bea9f0e505a0">48,148</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic28c914a66344b88a58d0be2b67a426b_I20190331" decimals="-3" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMTAtMy0xLTEtMA_66555274-fa25-40f4-8f92-356663348c5c">481</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i05854a2fbc114516890f7e84e7578b9b_I20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMTAtNS0xLTEtMA_1d1a0615-172f-4daa-8551-f248cae30219">731,073</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i5cfca337b14b432096c5016af25facd8_I20190331" decimals="-3" sign="-" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMTAtNy0xLTEtMA_6f0a236a-f2e8-4544-b7fa-022bc5cb82fe">46</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ie246fba7f2ae4a4ead42939f25a072af_I20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMTAtOS0xLTEtMA_58c508c3-906a-41be-aa95-72200f41ddc4">798,157</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="shares" contextRef="i5a7ea45253564e67bfce97082f1261e2_I20190331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:SharesIssued" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMTAtMTEtMS0xLTA_af7dcd80-c354-4284-937e-de4adfaf8eac">9,825</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i5a7ea45253564e67bfce97082f1261e2_I20190331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMTAtMTMtMS0xLTA_894e43cb-62b8-4460-b190-cbf8aea4a062">170,920</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i6775188fc49547f38d76e5875298883c_I20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockholdersEquity" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMTAtMTUtMS0xLTA_c04ff5e6-e159-464f-8620-05de82f83211">1,358,745</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div><span><br/></span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">5</span></div></div></div><hr style="page-break-after:always"/><div id="idedd8d3e0b164448a7aeb348636ed2a9_28"></div><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Tyler Technologies, Inc.</span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Notes to Condensed Consolidated Financial Statements</span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(Unaudited)</span></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(Tables in thousands, except per share data)</span></div><div style="margin-top:6pt;margin-bottom:6pt;"><span><br/></span></div><div id="idedd8d3e0b164448a7aeb348636ed2a9_31"></div><div style="margin-top:12pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(1)&#160;<ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zMS9mcmFnOmViZjY2YjI4N2M3YzRjZjRhZTI1NzZmODYwMTZjMjZkL3RleHRyZWdpb246ZWJmNjZiMjg3YzdjNGNmNGFlMjU3NmY4NjAxNmMyNmRfMTQ1NA_51d13f54-dcf5-4822-95f8-3d09cb8e07be" continuedAt="icfbf3c06cc06469db03f605534249d3c" escape="true">Basis of Presentation</ix:nonNumeric></span></div><ix:continuation id="icfbf3c06cc06469db03f605534249d3c"><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We prepared the accompanying condensed consolidated financial statements following the requirements of the Securities and Exchange Commission (&#8220;SEC&#8221;) and accounting principles generally accepted in the United States, or GAAP, for interim reporting. As permitted under those rules, certain footnotes or other financial information that are normally required by GAAP can be condensed or omitted for interim periods. Balance sheet amounts are as of March&#160;31, 2020, and December&#160;31, 2019, and operating result amounts are for the three months ended March&#160;31, 2020, and 2019, respectively, and include all normal and recurring adjustments that we considered necessary for the fair summarized presentation of our financial position and operating results. As these are condensed financial statements, one should also read the financial statements and notes included in our latest Form 10-K for the year ended December&#160;31, 2019. Revenues, expenses, assets and liabilities can vary during each quarter of the year. Therefore, the results and trends in these interim financial statements may not be the same as those for the full year. Certain amounts for the previous year have been reclassified to conform to the current year presentation.</span></div><div style="margin-top:6pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Comprehensive income (loss) is defined as the change in equity of a business enterprise during a period from transactions, and other events and circumstances from non-owner sources and includes all components of net income (loss) and other comprehensive income (loss). We had no items of other comprehensive income (loss) for the three months ended March&#160;31, 2020, and 2019.</span></div></ix:continuation><div id="idedd8d3e0b164448a7aeb348636ed2a9_34"></div><div style="margin-top:18pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(2)&#160;<ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:SignificantAccountingPoliciesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfNzE0NjgyNTYxOTQwNQ_9a9dbe56-aa70-4169-accf-8183b4d88018" continuedAt="i509a440b242a4093a39133e8d7dcd8a1" escape="true">Accounting Standards and Significant Accounting Policies</ix:nonNumeric></span></div><ix:continuation id="i509a440b242a4093a39133e8d7dcd8a1" continuedAt="i69f962310ba342b8b3a9f8899f8d9310"><div style="margin-top:12pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES</span></div><div style="margin-top:6pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Except for the accounting policies for ASU 2016-13,&#160;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Financial Instruments -&#160;Credit&#160;Losses,</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#160;(&#8220;ASU 2016-13&#8221;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">)</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">, there have been no changes to our significant accounting policies described in the Annual Report on Form 10-K for the year ended December&#160;31, 2019, filed with the SEC on February 19, 2020, that have had a material impact on our condensed consolidated financial statements and related notes.</span></div><div style="margin-top:6pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Impact of the COVID-19 Pandemic</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">In March 2020, the World Health Organization declared the outbreak of COVID -19 a pandemic, which continues to spread throughout the U.S. and the world and has resulted in authorities implementing numerous measures to contain the virus, including travel bans and restrictions, quarantines, shelter-in-place orders, and business limitations and shutdowns. </span><span style="background-color:rgb(255,255,255, 0.0);color:#212529;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">While we </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">are unable to accurately predict the full impact that COVID-19 will have on our results from operations, financial condition, liquidity and cash flows due to numerous uncertainties, including the duration and severity of the pandemic and containment measures and associated compliance, we do expect the current environment will negatively impact our revenues and other financial results for fiscal 2020. However, for the first quarter of 2020, we did not experience a material negative impact on our financial results associated with the pandemic.</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Because an increasing portion of our revenues are recurring, the effect of COVID-19 on our results of operations may also not be fully reflected for some time. We expect to see some impact on our business in the near term, with possible delays in government procurement processes and delays in implementations caused by travel restrictions, closed offices, or clients shifting focus to more pressing issues. We are working to address those challenges through adapting the way we do business &#8211; encouraging web and video conferencing, conducting sales demonstrations and delivering professional services remotely.</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Our priorities during this crisis are protecting the health and safety of our employees and our clients. Our IT systems and applications support a remote workforce. Prior to the pandemic, many of our employees worked remotely. </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%;"> </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">In response to the pandemic, we encouraged all employees who are able to do so to work from home, equipping them with resources necessary to continue uninterrupted. We were able to transition the vast majority of our employees to this work-from-home posture. This reduces the number of team members in our offices to those uniquely needed for essential on-site services, such as network operations support staff, and allows for &#8220;social distancing&#8221; as directed by the Centers for Disease Control ("CDC").</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The pandemic has delayed some government procurement processes and is expected to impact our ability to complete certain implementations, negatively impacting our revenue. It could also negatively impact the timing of client payments to us.</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%;"> </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We continue to monitor these trends in order to respond to the ever-changing impact of COVID-19 on our clients and Tyler&#8217;s operations.</span></div></ix:continuation><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">6</span></div></div></div><hr style="page-break-after:always"/><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><ix:continuation id="i69f962310ba342b8b3a9f8899f8d9310" continuedAt="i9a22ca4c3849487b8b37e34871dc4168"><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Recurring revenues, from subscriptions and maintenance revenues, for the three months ended March 31, 2020, comprise <ix:nonFraction unitRef="number" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="2" name="tyl:RecurringRevenuePercentageOfTotalRevenue" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfNTQ5NzU1ODE2NzA1OA_ff1fc1d1-297e-4dd7-8bae-bdc285d3a6b1">71</ix:nonFraction>% of our total consolidated revenue, and include newer transaction-based revenue streams such as e-filing and online payments. As of March&#160;31, 2020, we had $<ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CashCashEquivalentsAndShortTermInvestments" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfMTY0OTI2NzQ4MDIyMA_8f77447c-2b9e-441b-b011-3402e3f677fb">392.6</ix:nonFraction> million in cash and investments and <ix:nonFraction unitRef="usd" contextRef="ib0673062db4f4bea81b579227d982082_I20200331" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:LongTermLineOfCredit" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfMTY0OTI2NzQ3OTQ3Mg_a9314674-866a-4269-89eb-8d62cb3e4e73">no</ix:nonFraction> outstanding borrowings under our credit facility. We also have substantial additional liquidity available through our undrawn $<ix:nonFraction unitRef="usd" contextRef="ib0673062db4f4bea81b579227d982082_I20200331" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfMTY0OTI2NzQ3MTg3OA_3474b05b-dda4-4f41-95d8-23a5221b0a98">400.0</ix:nonFraction> million credit facility, which can be expanded through an accordion feature. For the first quarter of 2020, the negative impact of the COVID-19 pandemic was not material to our operating results. No asset impairments were recorded as of the balance sheet date as no triggering events or changes in circumstances occurred as of period-end to require such an impairment; however, due to significant uncertainty surrounding the pandemic, management&#8217;s judgment regarding this could change in the future.</span></div><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:UseOfEstimates" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfMTMwODA_3df26841-3f0e-47fa-8b50-d58bca5da2c2" escape="true"><div style="margin-top:12pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">USE OF ESTIMATES</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The preparation of our financial statements in conformity with accounting principles generally accepted in the United States (&#8220;GAAP&#8221;) requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant items subject to such estimates and assumptions include revenue recognition, determining the nature and timing of satisfaction of performance obligations, determining the standalone selling price ("SSP") of performance obligations, variable consideration, and other obligations such as returns and refunds; loss contingencies; the estimated useful life of deferred commissions; the carrying amount and estimated useful lives of intangible assets; the carrying amount of operating lease right-of-use assets and operating lease liabilities; determining share-based compensation expense; the valuation allowance for receivables; and determining the potential outcome of future tax consequences of events that have been recognized on our consolidated financial statements or tax returns. Actual results could differ from estimates.</span></div></ix:nonNumeric><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:RevenueFromContractWithCustomerPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfMTMwODg_17c881cf-df78-4f31-a63c-a1cd25efc972" continuedAt="i7e11f6ec3e744c64a69f3f67764f1cba" escape="true"><div style="margin-top:12pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">REVENUE RECOGNITION</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Nature of Products and Services:</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We earn revenue from software licenses, royalties, subscription-based services, software services, post-contract customer support (&#8220;PCS&#8221; or &#8220;maintenance&#8221;), hardware, and appraisal services. Revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services. We determine revenue recognition through the following steps:</span></div><div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">Identification of the contract, or contracts with a customer</span></div><div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">Identification of the performance obligations in the contract </span></div><div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">Determination of the transaction price</span></div><div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">Allocation of the transaction price to the performance obligations in the contract</span></div><div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">Recognition of revenue when, or as, we satisfy a performance obligation</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Most of our software arrangements with customers contain multiple performance obligations that range from software licenses, installation, training, and consulting to software modification and customization to meet specific customer needs (services), hosting, and PCS. For these contracts, we account for individual performance obligations separately when they are distinct. We evaluate whether separate performance obligations can be distinct or should be accounted for as one performance obligation. Arrangements that include software services, such as training or installation, are evaluated to determine whether the customer can benefit from the services either on their own or together with other resources readily available to the customer and whether the services are separately identifiable from other promises in the contract. The transaction price is allocated to the distinct performance obligations on a relative SSP basis. We determine the SSP based on our overall pricing objectives, taking into consideration market conditions and other factors, including the value of our contracts, the applications sold, customer demographics, and the number and types of users within our contracts. Revenue is recognized net of allowances for sales adjustments and any taxes collected from customers, which are subsequently remitted to governmental authorities.</span></div></ix:nonNumeric></ix:continuation><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">7</span></div></div></div><hr style="page-break-after:always"/><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><ix:continuation id="i9a22ca4c3849487b8b37e34871dc4168" continuedAt="i78ea76670e3c4a2cbc24aaf8a736ca0a"><ix:continuation id="i7e11f6ec3e744c64a69f3f67764f1cba"><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Significant Judgments:</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Our contracts with customers often include multiple performance obligations to a customer. When a software arrangement (license or subscription) includes both software licenses and software services, judgment is required to determine whether the software license is considered distinct and accounted for separately, or not distinct and accounted for together with the software services and recognized over time. </span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The transaction price is allocated to the separate performance obligations on a relative SSP basis. We determine the SSP based on our overall pricing objectives, taking into consideration market conditions and other factors, including the value of our contracts, the applications sold, customer demographics, and the number and types of users within our contracts.</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%;"> </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We use a range of amounts to estimate SSP when we sell each of the products and services separately and need to determine whether there is a discount to be allocated based on the relative SSP of the various products and services. In instances where SSP is not directly observable, such as when we do not sell the product or service separately, we determine SSP using the expected cost-plus margin approach.</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">For arrangements that involve significant production, modification or customization of the software, or where software services otherwise cannot be considered distinct, we recognize revenue as control is transferred to the customer over time using progress-to-completion methods. Depending on the contract, we measure progress-to-completion primarily using labor hours incurred, or value added. The progress-to-completion method generally results in the recognition of reasonably consistent profit margins over the life of a contract because we can provide reasonably dependable estimates of contract billings and contract costs. We use the level of profit margin that is most likely to occur on a contract. If the most likely profit margin cannot be precisely determined, the lowest probable level of profit margin in the range of estimates is used until the results can be estimated more precisely. These arrangements are often implemented over an extended time period and occasionally require us to revise total cost estimates. Amounts recognized in revenue are calculated using the progress-to-completion measurement after giving effect to any changes in our cost estimates. Changes to total estimated contract costs, if any, are recorded in the period they are determined. Estimated losses on uncompleted contracts are recorded in the period in which we first determine that a loss is apparent.</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Typically, the structure of our arrangements does not give rise to variable consideration. However, in those instances whereby variable consideration exists, we include in our estimates additional revenue for variable consideration when we believe we have an enforceable right, the amount can be estimated reliably and its realization is probable.</span></div></ix:continuation><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Refer to Note 13 - "Disaggregation of Revenue" for further information, including the economic factors that affect the nature, amount, timing, and uncertainty of revenue and cash flows of our various revenue categories.</span></div><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfMTMwODM_a70118bb-07ec-473c-af54-7b78d2aa6e10" continuedAt="i6c9fdf1936374728b41f908af7251b6f" escape="true"><div style="margin-top:6pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Contract Balances:</span></div><div style="margin-top:6pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Accounts receivable and allowance for losses and sales adjustments</span></div><div style="margin-top:12pt;margin-bottom:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Timing of revenue recognition may differ from the timing of invoicing to customers. We record an unbilled receivable when revenue is recognized prior to invoicing, or deferred revenue when revenue is recognized subsequent to invoicing. For multi-year agreements, we generally invoice customers annually at the beginning of each annual coverage period. We record an unbilled receivable related to revenue recognized for on-premises licenses as we have an unconditional right to invoice and receive payment in the future related to those licenses.</span></div><div style="margin-top:12pt;margin-bottom:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">At March&#160;31, 2020, and December&#160;31, 2019, total current and long-term accounts receivable, net of allowance for losses and sales adjustments, was $<ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfNzkwMg_2121bc86-0d03-4aae-a0fe-07ddbdd5f4f0">339.5</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfNzkwOQ_33be8795-0d2a-46d4-af09-33d6dbe71caf">396.5</ix:nonFraction> million, respectively. We have recorded unbilled receivables of $<ix:nonFraction unitRef="usd" contextRef="i87a1ecdcb74944b4a441f12a92f14f16_I20200331" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfNzk2OA_5988727a-c8d6-42cc-a8d2-714aef717afa">134.5</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="i30c0f3448a6945928028fe4f059fc018_I20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfNzk3NQ_0c65184b-5b69-4b12-9bf2-99751a3342e0">134.0</ix:nonFraction> million at March&#160;31, 2020, and December&#160;31, 2019, respectively. Included in unbilled receivables are retention receivables of $<ix:nonFraction unitRef="usd" contextRef="i2dbbc6fbf92d4f748d67fbd276f6976c_I20200331" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfODA2OQ_75ca1977-4442-4adb-b443-eb3f12d4f452">12.5</ix:nonFraction> million and $<ix:nonFraction unitRef="usd" contextRef="ie314674e7fcd420c864a4b079ee49508_I20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:AccountsReceivableNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfODA3Ng_23f2053e-bb53-400f-ba4e-921e0f84d69b">13.1</ix:nonFraction> million at March&#160;31, 2020, and December&#160;31, 2019, respectively, which become payable upon the completion of the contract or completion of our fieldwork and formal hearings. Unbilled receivables expected to be collected within one year have been included with accounts receivable, current portion in the accompanying condensed consolidated balance sheets. Unbilled receivables and retention receivables expected to be collected past one year have been included with accounts receivable, long-term portion in the accompanying condensed consolidated balance sheets.</span></div></ix:nonNumeric></ix:continuation><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">8</span></div></div></div><hr style="page-break-after:always"/><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><ix:continuation id="i78ea76670e3c4a2cbc24aaf8a736ca0a" continuedAt="i51726e103e1f46b289c5f9169fd20edd"><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;"><ix:continuation id="i6c9fdf1936374728b41f908af7251b6f">We maintain allowances for losses and sales adjustments, which losses are recorded against revenue at the time of the loss is incurred. Since most of our clients are domestic governmental entities, we rarely incur a loss resulting from the inability of a client to make required payments. Events or changes in circumstances that indicate the carrying amount for the allowances for losses and sales  adjustments may require revision, include, but are not limited to, managing our client&#8217;s expectations regarding the scope of the services to be delivered and defects or errors in new versions or enhancements of our software products. Our allowance for losses and sales adjustments of $<ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllowanceForDoubtfulAccountsReceivable" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfMjE5OTAyMzI5ODc4NQ_c361a6be-578d-4278-9b8f-df8e32febcb0">6.5</ix:nonFraction> million at March&#160;31, 2020, does not include provisions for credit losses.</ix:continuation> As of January 1, 2020, we adopted ASU 2016-13</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;"> Financial Instruments - Credit Losses </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;">and primarily evaluated our historical experience with credit losses related to trade and other receivables. Because we have not experienced any historical credit losses with the majority of our clients, we have no basis to record a reserve for credit losses as defined by the standard.</span></div><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfNzE0NjgyNTYxOTQwNA_dbc6bbc9-b741-45bf-b7db-6805ef3fe5fa" continuedAt="i6af7dac19ecc4b6dae4f7deeb78c6fd8" escape="true"><div style="margin-top:12pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">RECENTLY ADOPTED ACCOUNTING PRONOUNCEMENTS</span></div><div style="margin-top:6pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">In June 2016, the FASB issued ASU 2016-13,&#160;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Financial Instruments -&#160;Credit&#160;Losses,</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#160;(&#8220;ASU 2016-13&#8221;). ASU 2016-13 changes the impairment model for most financial assets and certain other instruments, including trade and other receivables, available for-sale debt securities, held-to-maturity debt securities and loans, and requires entities to use a new forward-looking expected loss model that will result in the earlier recognition of an allowance for losses. This update is effective for fiscal years beginning after December 15, 2019, including interim periods within those fiscal years. Early adoption is permitted for a fiscal year beginning after December 15, 2018, including interim periods within that fiscal year. Entities apply the standard&#8217;s provisions as a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is adopted.  As of January 1, 2020, we adopted the new standard with no material impact of credit losses to our trade and other receivables, held-to-maturity debt securities and retained earnings included in our condensed consolidated financial statements.</span></div><div style="margin-top:12pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">RECENTLY ISSUED ACCOUNTING PRONOUNCEMENTS</span></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:107%;">Accounting for Income Taxes </span></div></ix:nonNumeric></ix:continuation><div style="margin-top:6pt;"><ix:continuation id="i51726e103e1f46b289c5f9169fd20edd" continuedAt="ia17feefeb9f0444cbf68cb7b96ddc8f1"><ix:continuation id="i6af7dac19ecc4b6dae4f7deeb78c6fd8" continuedAt="iae476a3bc8534009925cbdbeccf895d1"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">In December 2019, the FASB issued ASU 2019-12,</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"> Simplifying the Accounting for Income Taxes</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">, ("ASU 2019-12") which simplifies the accounting for income taxes, eliminates certain exceptions within ASC 740, </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Income Taxes</span></ix:continuation></ix:continuation><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"><ix:continuation id="ia17feefeb9f0444cbf68cb7b96ddc8f1"><ix:continuation id="iae476a3bc8534009925cbdbeccf895d1">, and clarifies certain aspects of the current guidance to promote consistency among reporting entities. The new standard is effective for fiscal years beginning after December 15, 2020. Most amendments within the standard are required to be applied on a prospective basis, while certain amendments must be applied on a retrospective or modified retrospective basis. The Company does not expect adoption of this standard to have a material effect on the Company&#8217;s consolidated financial statements.</ix:continuation></ix:continuation> </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%;"> </span></div><div id="idedd8d3e0b164448a7aeb348636ed2a9_37"></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(3)&#160;<ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:BusinessCombinationDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNy9mcmFnOjZkNmM2NzQ2MTdhMzQ2Y2E4Mjc0ZTA0NmI4MjkzNTAwL3RleHRyZWdpb246NmQ2YzY3NDYxN2EzNDZjYTgyNzRlMDQ2YjgyOTM1MDBfNjU5NzA2OTc3NzIyOQ_8c649214-70f5-404c-be56-24c4f8516400" continuedAt="i91519f9eec9a4ef88f97f2f99226e97a" escape="true">Acquisitions</ix:nonNumeric></span></div><div style="margin-top:9pt;"><span><br/></span></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;"><ix:continuation id="i91519f9eec9a4ef88f97f2f99226e97a">On February 28, 2019, we acquired all of the capital stock of MP Holdings Parent, Inc. dba MicroPact ("MicroPact"), a leading provider of commercial off-the-shelf solutions, including entellitrak&#174;, a low-code application development platform for case management and business process management used extensively in the public sector.  In the three months ended March 31, 2020, we paid $<ix:nonFraction unitRef="usd" contextRef="i406c48b63868432e99620710e3da2ecf_D20200228-20200228" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNy9mcmFnOjZkNmM2NzQ2MTdhMzQ2Y2E4Mjc0ZTA0NmI4MjkzNTAwL3RleHRyZWdpb246NmQ2YzY3NDYxN2EzNDZjYTgyNzRlMDQ2YjgyOTM1MDBfMTY0OTI2NzQ1MTc1MA_a663d8ee-c64b-4e60-9318-a195455dd8b8">5.6</ix:nonFraction> million in contingent consideration. As of March&#160;31, 2020, we have no contingent consideration accrued as it relates to acquisitions completed in prior periods.</ix:continuation></span></div><div id="idedd8d3e0b164448a7aeb348636ed2a9_40"></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(4) &#160;<ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RleHRyZWdpb246NWM0NDMxYzRjZWUwNDUzYWJmZTM3MzYyYTQyOGUyZjRfMjI5_c7dd326d-eb1b-4198-b58b-f481dab6bc68" continuedAt="iff05454ca38e470fb60f44b82baa0468" escape="true">Shareholders&#8217; Equity</ix:nonNumeric></span></div><ix:continuation id="iff05454ca38e470fb60f44b82baa0468"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:ScheduleOfStockholdersEquityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RleHRyZWdpb246NWM0NDMxYzRjZWUwNDUzYWJmZTM3MzYyYTQyOGUyZjRfMjM2_cada41b3-50a8-4245-b6be-20e011b82b77" escape="true"><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table details activity in our common stock:</span></div><div style="margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:89.035%;"><tr><td style="width:1.0%;"></td><td style="width:41.513%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.621%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.479%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.621%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.315%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.621%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:9.658%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:1.606%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:12.942%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.624%;"></td><td style="width:0.1%;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="21" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-bottom:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Shares</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Shares</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Purchases of treasury shares</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="shares" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" name="us-gaap:TreasuryStockSharesAcquired" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfMy0yLTEtMS0w_35428593-091e-4ddf-99b7-c4ea1e5eaa3a">59</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfMy00LTEtMS0w_250e2e46-c62b-46b3-8772-2e849e8639fb">15,482</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="shares" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" name="us-gaap:TreasuryStockSharesAcquired" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfMy02LTEtMS0w_1d0f29bf-ddc7-4512-a516-5b4fe6c783b8">72</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:TreasuryStockValueAcquiredCostMethod" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfMy04LTEtMS0w_3f56ab92-6c48-4f81-9717-14a8753b7030">14,289</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Stock option exercises </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="shares" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNC0yLTEtMS0w_105253f0-408b-45e6-b94c-d32ad120ab6e">481</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNC00LTEtMS0w_809b42e3-b679-421e-a471-9c28316349e5">46,236</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="shares" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNC02LTEtMS0w_6c2a7c6e-d041-4ccf-96b0-a1aa88c10258">94</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNC04LTEtMS0w_d21a10ea-4759-4d77-a862-bb338679f63d">6,564</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Employee stock plan purchases</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="shares" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNS0yLTEtMS0w_11313605-1ad5-4a12-94d8-086650514a3a">10</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNS00LTEtMS0w_42c40b2b-7c94-48b5-986d-f4fc2651938f">2,469</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="shares" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNS02LTEtMS0w_6dee0af0-ea0e-495c-be67-81cec87b120f">15</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNS04LTEtMS0w_affc92ff-a62b-4d9b-a0d3-c8a797f58662">2,349</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Restricted stock units vested, net of withheld shares upon award settlement</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="shares" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" name="tyl:ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNi0yLTEtMS0w_df6422a1-a3a1-4303-a96e-97f8f358d490">10</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="tyl:StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNi00LTEtMS0w_171ebb29-04c5-4b2e-9af8-d155e6cdadf2">2,301</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="shares" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" name="tyl:ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNi02LTEtMS0w_2c7bb79f-6044-4eef-9bc9-4ec366c3d0ee">10</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="tyl:StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNi04LTEtMS0w_22b524a0-97c5-48b7-9cc1-48824b6c6792">1,373</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of March&#160;31, 2020, we have authorization from our board of directors to repurchase up to <ix:nonFraction unitRef="shares" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RleHRyZWdpb246NWM0NDMxYzRjZWUwNDUzYWJmZTM3MzYyYTQyOGUyZjRfMTg2_894e959f-f5c2-4881-9f0c-31d0dd1bc2c7">2.6</ix:nonFraction> million additional shares of our common stock.</span></div></ix:continuation><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">9</span></div></div></div><hr style="page-break-after:always"/><div id="idedd8d3e0b164448a7aeb348636ed2a9_43"></div><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(5)&#160;<ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfMTA0Mg_cd5fe555-e734-41bd-b87f-b46de796f44e" continuedAt="ic34759e0a2404e3fa85d71e60d401be4" escape="true">Deferred Commissions</ix:nonNumeric></span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"><ix:continuation id="ic34759e0a2404e3fa85d71e60d401be4" continuedAt="i50df96d9bd854797a39aa63bc7f7a9e8">Sales commissions earned by our sales force are considered incremental and recoverable costs of obtaining a contract with a customer. Sales commissions for initial contracts are deferred and then amortized commensurate with the recognition of associated revenue over a period of benefit that we have determined to be <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfMzQ3_ffd0ccce-aade-4ac4-927b-cf2eaf701cc5">three</span> to <ix:nonNumeric contextRef="iddae0efff8774178a4dbab5c433849a1_D20200101-20200331" format="ixt-sec:durwordsen" name="tyl:SalesCommissionsAmortizationPeriod" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfMzUz_c26b40bb-2ebb-4850-88a9-c015d09dcfae">seven years</ix:nonNumeric>. Deferred commissions were&#160;$<ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedContractCostNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfMzgz_d6302cbd-b309-4464-adb7-07dc8c2286f7">30.9</ix:nonFraction> million&#160;and $<ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedContractCostNet" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfMzkw_a020e557-5d42-49c8-9fd9-b7f958795d35">29.8</ix:nonFraction> million as of March&#160;31, 2020,&#160;and&#160;December&#160;31, 2019, respectively. Amortization expense was $<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedContractCostAmortization" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfNDUw_d86de4a9-b626-4c43-89bf-821ed0f90b46">3.9</ix:nonFraction> million for the&#160;three months ended March&#160;31, 2020, and&#160;$<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:CapitalizedContractCostAmortization" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfNTA2_39a6a31a-35a8-44c8-bb44-5bf41338090a">3.8</ix:nonFraction> million for the&#160;three months ended March&#160;31, 2019. There were <ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:CapitalizedContractCostImpairmentLoss" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfNTY5_a8769195-8d24-4fee-9de6-010bc04fd23f"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:CapitalizedContractCostImpairmentLoss" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfNTY5_aebaea3b-2680-4059-b2e4-1a15d7c55c62">no</ix:nonFraction></ix:nonFraction> indicators of impairment in relation to the costs capitalized for the periods presented. Deferred commissions have been included with prepaid expenses for the current portion and non-current other assets for the long-term portion in the accompanying condensed consolidated balance sheets. Amortization expense related to deferred commissions is included in Selling, general and administrative expenses in the accompanying condensed consolidated statements of income.</ix:continuation></span></div><div id="idedd8d3e0b164448a7aeb348636ed2a9_49"></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(6)&#160;<ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:OtherAssetsDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80OS9mcmFnOjczMGY4OTE5YWUyYzQyZjM5ZTVlNDVlMDdjYmRhMzc0L3RleHRyZWdpb246NzMwZjg5MTlhZTJjNDJmMzllNWU0NWUwN2NiZGEzNzRfNjU5NzA2OTc3MDgwMw_95b10d55-226e-44f8-a2bf-47b3f32712de" continuedAt="i868426af785e4c418416b04f3a17cd0f" escape="true">Other Assets</ix:nonNumeric></span></div><ix:continuation id="i868426af785e4c418416b04f3a17cd0f"><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of March&#160;31, 2020, we have $<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireHeldToMaturitySecurities" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80OS9mcmFnOjczMGY4OTE5YWUyYzQyZjM5ZTVlNDVlMDdjYmRhMzc0L3RleHRyZWdpb246NzMwZjg5MTlhZTJjNDJmMzllNWU0NWUwN2NiZGEzNzRfNDA_eb5f3786-cf3d-4de6-aac9-aa62bb7061ff">90.6</ix:nonFraction> million in investment grade corporate and municipal bonds with maturity dates ranging ranging through 2023. We intend to hold these bonds to maturity and have classified them as such. We believe cost approximates fair value because of the relatively short duration of these investments. The fair values of these securities are considered Level II as they are based on inputs from quoted prices in markets that are not active or other observable market data. These investments are presented at amortized cost are included in Short-term investments and Non-current investments and other assets in the accompanying condensed consolidated balance sheets.  As of March&#160;31, 2020, we have an accrued interest receivable balance of $<ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:InterestReceivable" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80OS9mcmFnOjczMGY4OTE5YWUyYzQyZjM5ZTVlNDVlMDdjYmRhMzc0L3RleHRyZWdpb246NzMwZjg5MTlhZTJjNDJmMzllNWU0NWUwN2NiZGEzNzRfMTY0OTI2NzQ0MzMyNA_76471c5f-2286-40e6-90d3-786c327c6986">493,000</ix:nonFraction> and is included in Account receivables, net. We do not measure an allowance for credit losses for accrued interest receivables. We record any losses within the maturity period of the investment and any write-offs to accrued interest receivables are recorded as a reduction to interest income in the period of the loss. During the three months ended March&#160;31, 2020, we have recorded no credit losses. Interest income and amortization of discounts and premiums are included in Other income (expense), net in the accompanying condensed consolidated statements of income.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">During the three months ended March&#160;31, 2020, we sold our $<ix:nonFraction unitRef="usd" contextRef="i98eaf4d5d4df44519573eba5b2b1e26c_D20200101-20200331" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:ProceedsFromSaleOfEquityMethodInvestments" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80OS9mcmFnOjczMGY4OTE5YWUyYzQyZjM5ZTVlNDVlMDdjYmRhMzc0L3RleHRyZWdpb246NzMwZjg5MTlhZTJjNDJmMzllNWU0NWUwN2NiZGEzNzRfMTY0OTI2NzQ0NDc0OQ_491d3909-67ad-4660-86b0-8529d0de3145">15</ix:nonFraction> million investment in convertible preferred stock representing a <ix:nonFraction unitRef="number" contextRef="ibeed6a78eb454e6b814c43f49bcecb58_I20191231" decimals="2" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80OS9mcmFnOjczMGY4OTE5YWUyYzQyZjM5ZTVlNDVlMDdjYmRhMzc0L3RleHRyZWdpb246NzMwZjg5MTlhZTJjNDJmMzllNWU0NWUwN2NiZGEzNzRfMTY0OTI2NzQ0NDg0MA_a0118098-f037-469e-b514-93cc5f339862">20</ix:nonFraction>% interest in Record Holdings Pty Limited ("Record Holdings"), a privately held Australian company specializing in digitizing the spoken word in court and legal proceedings, to BFTR, LLC, a wholly owned subsidiary of Bison Capital Partners V L.P. During the same period, we purchased $<ix:nonFraction unitRef="usd" contextRef="i98eaf4d5d4df44519573eba5b2b1e26c_D20200101-20200331" decimals="-6" format="ixt:numdotdecimal" name="us-gaap:PaymentsToAcquireEquityMethodInvestments" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80OS9mcmFnOjczMGY4OTE5YWUyYzQyZjM5ZTVlNDVlMDdjYmRhMzc0L3RleHRyZWdpb246NzMwZjg5MTlhZTJjNDJmMzllNWU0NWUwN2NiZGEzNzRfMTY0OTI2NzQ0NDgwNQ_26086c07-bd13-4c16-a640-ee022406e1b7">10</ix:nonFraction> million in common stock representing a <ix:nonFraction unitRef="number" contextRef="i16f8c115a9824e20891f5cbd72a059b3_I20200331" decimals="2" name="us-gaap:EquityMethodInvestmentOwnershipPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80OS9mcmFnOjczMGY4OTE5YWUyYzQyZjM5ZTVlNDVlMDdjYmRhMzc0L3RleHRyZWdpb246NzMwZjg5MTlhZTJjNDJmMzllNWU0NWUwN2NiZGEzNzRfMTY0OTI2NzQ0NDg0NQ_81a36768-cee2-486d-be89-573994292245">18</ix:nonFraction>% interest in BFTR, LLC. The investment in common stock is accounted under the cost method because we do not have the ability to exercise significant influence over the investee and the securities do not have readily determinable fair values. Our investment is carried at cost less any impairment write-downs. Annually, our cost method investments are assessed for impairment. We do not reassess the fair value of cost method investments if there are no identified events or changes in circumstances that may have a significant adverse effect on the fair value of the investments. This investment is included in Non-current investments and other assets in the accompanying condensed consolidated balance sheets.</span></div></ix:continuation><div id="idedd8d3e0b164448a7aeb348636ed2a9_52"></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(7)&#160;<ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:DebtDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfMTQ2Mg_6b9cc8c6-f68b-41ec-8e17-de6e41c931c4" continuedAt="i44be0fa98448483fbc8cc6a157bd5cb2" escape="true">Revolving Line of Credit</ix:nonNumeric></span></div><ix:continuation id="i44be0fa98448483fbc8cc6a157bd5cb2"><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">On September 30, 2019, we entered into a $<ix:nonFraction unitRef="usd" contextRef="id6bb299c77214e989cc38d69596aff0e_I20190930" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfNzY_683bde2c-72a4-4d44-a10f-48f8c7205d72">400</ix:nonFraction> million credit agreement with various lender parties and Wells Fargo Bank, National Association, as Administrative Agent (the &#8220;Credit Facility&#8221;). The Credit Facility provides for a revolving credit line up to $<ix:nonFraction unitRef="usd" contextRef="id6bb299c77214e989cc38d69596aff0e_I20190930" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfMjgy_683bde2c-72a4-4d44-a10f-48f8c7205d72">400</ix:nonFraction> million, including a $<ix:nonFraction unitRef="usd" contextRef="i3de4ab46c9ee4e8c8a50b2ce44ca4756_I20190930" decimals="INF" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfMjk4_9900eaaf-9409-4ab4-afed-aafd7c8a0a55">25</ix:nonFraction> million sublimit for letters of credit. The Credit Facility matures on September&#160;30, 2024. </span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Borrowings under the Credit Facility bear interest at a rate of either (1) Wells Fargo Bank&#8217;s prime rate (subject to certain higher rate determinations) plus a margin of <ix:nonFraction unitRef="number" contextRef="i7a7f81d2a0514100b5b0fead552b87a5_D20200101-20200331" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfODI2_c4b6f89d-5c68-4097-931c-2f996fbc675b">0.125</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="i981befe7724e41f9a255dd5fd6d74bb9_D20200101-20200331" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfODMy_a1a1399b-c609-45c5-baac-02f3327ea093">0.75</ix:nonFraction>% or (2) the one-, two-, three-, or six-month LIBOR rate plus a margin of <ix:nonFraction unitRef="number" contextRef="iefda0ef086bf4140be672398f2463104_D20200101-20200331" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfOTA3_700e462b-1092-4a9a-b9ed-304187b21efe">1.125</ix:nonFraction>% to <ix:nonFraction unitRef="number" contextRef="id0659a795ce14cdeb6a5500f7a5ccc9c_D20200101-20200331" decimals="INF" name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfOTEz_55a09ca6-90f2-4b58-a06e-03eae3f822ef">1.75</ix:nonFraction>%. As of March&#160;31, 2020, the interest rates were <ix:nonFraction unitRef="number" contextRef="i2268fdde9b874a1fa7cfb716c12ed583_I20200331" decimals="4" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfOTUx_5c3271bf-6cd5-4ac7-ba50-0afaee6adbaa">3.38</ix:nonFraction>% under the Wells Fargo Bank's prime rate and approximately <ix:nonFraction unitRef="number" contextRef="i6867502de31f497881339235700ffb3e_I20200331" decimals="4" name="us-gaap:DebtInstrumentInterestRateEffectivePercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfMTAxMg_cd16fed2-0d4a-44ef-8394-49473703e702">2.12</ix:nonFraction>% under the 30-day LIBOR option. The Credit Facility requires us to maintain certain financial ratios and other financial conditions and prohibits us from making certain investments, advances, cash dividends or loans, and limits incurrence of additional indebtedness and liens. As of March&#160;31, 2020, we were in compliance with those covenants.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of March&#160;31, 2020, we had <ix:nonFraction unitRef="usd" contextRef="ib0673062db4f4bea81b579227d982082_I20200331" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:LongTermLineOfCredit" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfMTM2NA_a9314674-866a-4269-89eb-8d62cb3e4e73">no</ix:nonFraction> outstanding borrowings under the Credit Facility, and available borrowing capacity was $<ix:nonFraction unitRef="usd" contextRef="ib0673062db4f4bea81b579227d982082_I20200331" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfMTQ1NQ_3474b05b-dda4-4f41-95d8-23a5221b0a98">400.0</ix:nonFraction> million.</span></div></ix:continuation><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">10</span></div></div></div><hr style="page-break-after:always"/><div id="idedd8d3e0b164448a7aeb348636ed2a9_55"></div><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(8)&#160;<ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:IncomeTaxDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81NS9mcmFnOjVjMWJiOWMyZmY4NjRhZDFiMWEzZGQ1NTc0MTVhMzFjL3RleHRyZWdpb246NWMxYmI5YzJmZjg2NGFkMWIxYTNkZDU1NzQxNWEzMWNfNjU5NzA2OTc3MjM5Mw_5a171e8f-0129-41c0-8b7d-0477debc7397" continuedAt="i122028b9ad934b938ae07870291c57a4" escape="true">Income Tax Provision</ix:nonNumeric></span></div><ix:continuation id="i122028b9ad934b938ae07870291c57a4"><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We had an effective income tax rate of negative <ix:nonFraction unitRef="number" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="3" sign="-" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81NS9mcmFnOjVjMWJiOWMyZmY4NjRhZDFiMWEzZGQ1NTc0MTVhMzFjL3RleHRyZWdpb246NWMxYmI5YzJmZjg2NGFkMWIxYTNkZDU1NzQxNWEzMWNfNjk_b6f9ab47-5013-453b-851e-9915b5feab58">36.3</ix:nonFraction>% for the three months ended March&#160;31, 2020, compared to <ix:nonFraction unitRef="number" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="3" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81NS9mcmFnOjVjMWJiOWMyZmY4NjRhZDFiMWEzZGQ1NTc0MTVhMzFjL3RleHRyZWdpb246NWMxYmI5YzJmZjg2NGFkMWIxYTNkZDU1NzQxNWEzMWNfMTQy_4d813640-f95e-410c-b7ae-9f2c42d39c85">22.0</ix:nonFraction>% for the three months ended March&#160;31, 2019. The change in the effective tax rate for the three months ended March&#160;31, 2020, as compared to the same period in 2019, was principally driven by an increase in the excess tax benefits related to stock incentive awards.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The effective income tax rates for the periods presented were different from the statutory United States federal income tax rate of 21% due to excess tax benefits related to stock incentive awards, state income taxes, non-deductible business expenses, and the tax benefit of research tax credits. The excess tax benefits related to stock incentive awards realized was $<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81NS9mcmFnOjVjMWJiOWMyZmY4NjRhZDFiMWEzZGQ1NTc0MTVhMzFjL3RleHRyZWdpb246NWMxYmI5YzJmZjg2NGFkMWIxYTNkZDU1NzQxNWEzMWNfNzc5_6cfba818-d118-41c7-ac0e-0924cb24938d">22.1</ix:nonFraction> million for the three months ended March&#160;31, 2020, compared to $<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81NS9mcmFnOjVjMWJiOWMyZmY4NjRhZDFiMWEzZGQ1NTc0MTVhMzFjL3RleHRyZWdpb246NWMxYmI5YzJmZjg2NGFkMWIxYTNkZDU1NzQxNWEzMWNfODQz_e8c5cdb1-8a4c-4a9b-b014-1b9eaceef0d8">1.7</ix:nonFraction> million for the three months ended March&#160;31, 2019. Excluding the excess tax benefits, the effective rate was <ix:nonFraction unitRef="number" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81NS9mcmFnOjVjMWJiOWMyZmY4NjRhZDFiMWEzZGQ1NTc0MTVhMzFjL3RleHRyZWdpb246NWMxYmI5YzJmZjg2NGFkMWIxYTNkZDU1NzQxNWEzMWNfOTUz_b69f936d-9db8-42ef-8987-96ab92e53e8c">27.0</ix:nonFraction>% for the three months ended March&#160;31, 2020, compared to <ix:nonFraction unitRef="number" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="3" name="us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81NS9mcmFnOjVjMWJiOWMyZmY4NjRhZDFiMWEzZGQ1NTc0MTVhMzFjL3RleHRyZWdpb246NWMxYmI5YzJmZjg2NGFkMWIxYTNkZDU1NzQxNWEzMWNfMTAwMw_6c91b010-fe31-4cd7-b8d9-cd69d8a8642b">26.8</ix:nonFraction>% for the three months ended March&#160;31, 2019. </span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We made tax payments of $<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaid" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81NS9mcmFnOjVjMWJiOWMyZmY4NjRhZDFiMWEzZGQ1NTc0MTVhMzFjL3RleHRyZWdpb246NWMxYmI5YzJmZjg2NGFkMWIxYTNkZDU1NzQxNWEzMWNfMTA4MA_1fb4e323-a478-4b9a-9d04-fca915982f35">176,000</ix:nonFraction> and $<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeTaxesPaid" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81NS9mcmFnOjVjMWJiOWMyZmY4NjRhZDFiMWEzZGQ1NTc0MTVhMzFjL3RleHRyZWdpb246NWMxYmI5YzJmZjg2NGFkMWIxYTNkZDU1NzQxNWEzMWNfMTA4Nw_bb2d88f7-02ba-48ab-868c-2953401f5e8e">88,000</ix:nonFraction> in the three months ended March 31, 2020, and 2019, respectively.</span></div><div style="margin-top:12pt;"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Coronavirus Aid, Relief and Economic Security ("CARES") Act, which was signed into law on March 27, 2020, provides an estimated $2.2 trillion to fight the COVID-19 pandemic and stimulate the U.S. economy. The assistance includes tax relief and government loans, and investments and grants for entities in affected industries (e.g., health care, airlines). </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The business tax provisions of the CARES Act include temporary changes to income and non-income based tax laws, including the ability to utilize net operating losses, interest expense deductions, alternative minimum tax credit refunds, charitable contributions, and depreciation of qualified improvement property. Measures not related to income-based taxes include (1) allowing an employer to pay its share of Social Security payroll taxes that would otherwise be due from the date of enactment through December 31, 2020, over the following two years and (2) allowing eligible employers subject to closure due to the COVID-19 pandemic to receive a 50% credit on qualified wages against their employment taxes each quarter, with any excess credits eligible for refunds.</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We evaluated the CARES Act provisions and the enactment resulted in no income tax adjustments. We do not believe that the income tax implications will be significant to our overall income tax liability.</span></div></ix:continuation><div id="idedd8d3e0b164448a7aeb348636ed2a9_58"></div><div style="margin-top:18pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(9)&#160;<ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:EarningsPerShareTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RleHRyZWdpb246NWRmMTg1OTI3NzAzNGI0NDhhZDVlYjU4OTQ5MmI3NGJfNDU3_23653df5-affa-4228-8a28-9fa36790d16d" continuedAt="i7b8cfc7b8551491d9069afda9353fbee" escape="true">Earnings Per Share</ix:nonNumeric></span></div><ix:continuation id="i7b8cfc7b8551491d9069afda9353fbee" continuedAt="idc21b43bc5fd43d4900befef7abc7a9c"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RleHRyZWdpb246NWRmMTg1OTI3NzAzNGI0NDhhZDVlYjU4OTQ5MmI3NGJfNDU0_73af55ab-83fb-442e-97f8-b66960b85877" escape="true"><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table details the reconciliation of basic earnings per share to diluted earnings per share:</span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:69.152%;"><tr><td style="width:1.0%;"></td><td style="width:65.441%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.857%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:12.587%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.857%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:13.858%;"></td><td style="width:1.0%;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Numerator for basic and diluted earnings per share:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net income</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfMy0yLTEtMS0w_d5bb814a-5ce3-4248-8d88-90d1e7d3298c">47,550</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:NetIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfMy00LTEtMS0w_049df1e8-4204-4ea3-9fbb-b8c380b79c52">27,348</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted-average basic common shares outstanding</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="shares" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfNS0yLTEtMS0w_45d1516a-5f89-4619-9ce7-ee691d42d7b9">39,500</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="shares" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfNS00LTEtMS0w_59191daf-c8b5-4df8-b7d6-611caa0f5e8d">38,308</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Assumed conversion of dilutive securities:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Stock awards</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="shares" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfNy0yLTEtMS0w_c263cc03-326b-42d5-90f9-5cdc1b28100e">1,644</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="shares" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfNy00LTEtMS0w_aae0d8d3-3792-4a25-95b7-e157d2f6d27a">1,277</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><div style="text-indent:6.75pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;">Denominator for diluted earnings per share</span></div><div style="text-indent:6.75pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;">&#160;&#160; - Adjusted weighted-average shares</span></div></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="shares" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfOC0yLTEtMS0w_ce0cd084-0272-460e-9cd8-f6b69841127f">41,144</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="shares" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfOC00LTEtMS0w_a4a41d15-ceba-43bf-92fa-da440b4ef60e">39,585</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Earnings per common share:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Basic</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usdPerShare" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfMTAtMi0xLTEtMA_2f155b96-9818-44a4-8032-ee7fae16ef0c">1.20</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usdPerShare" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="2" name="us-gaap:EarningsPerShareBasic" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfMTAtNC0xLTEtMA_522f8f8c-3cd3-4b5f-89ee-e650ed9e5c22">0.71</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Diluted</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usdPerShare" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfMTEtMi0xLTEtMA_c0d83eb8-4e28-4af1-b267-435910342807">1.16</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usdPerShare" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="2" name="us-gaap:EarningsPerShareDiluted" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfMTEtNC0xLTEtMA_44d8acb0-22e5-4c86-bf77-8c055054f6b2">0.69</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr></table></div></ix:nonNumeric></ix:continuation><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"><ix:continuation id="idc21b43bc5fd43d4900befef7abc7a9c">For the three months ended March&#160;31, 2020, and March&#160;31, 2019, stock awards representing the right to purchase common stock of approximately <ix:nonFraction unitRef="shares" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RleHRyZWdpb246NWRmMTg1OTI3NzAzNGI0NDhhZDVlYjU4OTQ5MmI3NGJfMjY2_36cbc64d-fcb7-4bd4-8f5d-09b9b14f0774">79,000</ix:nonFraction> shares and <ix:nonFraction unitRef="shares" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RleHRyZWdpb246NWRmMTg1OTI3NzAzNGI0NDhhZDVlYjU4OTQ5MmI3NGJfMjg3_2fe537af-c391-40af-8cb8-abe4fcc98019">1,253,000</ix:nonFraction> shares, respectively, were not included in the computation of diluted earnings per share because their inclusion would have had an antidilutive effect.</ix:continuation>&#160;</span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">11</span></div></div></div><hr style="page-break-after:always"/><div id="idedd8d3e0b164448a7aeb348636ed2a9_61"></div><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="margin-top:18pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(10)&#160;<ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:LesseeOperatingLeasesTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMjE3Mw_46ef560e-5f72-4e66-bd66-369fde9cc1a7" continuedAt="i761fc332da534bb5953ae4f004be09d2" escape="true"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:OperatingLeasesOfLessorDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMjE3OQ_4f87df54-5eaa-4b3e-8fcb-c0f6745e4fbf" continuedAt="if48f5066a27a493788c609c8ae026c79" escape="true">Leases</ix:nonNumeric></ix:nonNumeric></span></div><ix:continuation id="i761fc332da534bb5953ae4f004be09d2" continuedAt="i1a2f2f5ea61b4f97bb05cd04d1e985ee"><ix:continuation id="if48f5066a27a493788c609c8ae026c79" continuedAt="i49e06a00ed99480ab4d0cbe0d736fdb2"><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We lease office facilities for use in our operations, as well as transportation and other equipment.&#160;Most of our leases are non-cancelable operating lease agreements and they expire from <ix:nonNumeric contextRef="i5e88cc29fc4344bfa1f3cb0964249dd3_I20200331" format="ixt-sec:durwordsen" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMjA1_1f1b6504-b32b-4b20-a54e-dd163741a50c">one year</ix:nonNumeric> to <ix:nonNumeric contextRef="i154d9f766dcf4291a99504c7ea383294_I20200331" format="ixt-sec:durwordsen" name="us-gaap:LesseeOperatingLeaseTermOfContract" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMjEx_6e2243e2-a053-4c83-b3b0-8a319fc037bb">eight years</ix:nonNumeric>.&#160;Some of these leases include options to extend for up to <ix:nonNumeric contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" format="ixt-sec:duryear" name="us-gaap:LesseeOperatingLeaseRenewalTerm" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMjcy_672d8b59-2336-457f-bb91-dceb5b9a7036">10</ix:nonNumeric> years. We had&#160;no finance leases and no related party lease agreements as of March&#160;31, 2020. Operating lease costs were approximately $<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LeaseCost" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMzkw_e3d4b596-733b-4fea-96c5-8645003e42d0">2.6</ix:nonFraction> million for the three months ended March&#160;31, 2020, and $<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-5" format="ixt:numdotdecimal" name="us-gaap:LeaseCost" scale="6" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfNDQ2_31bee149-9924-4b9b-a665-f3a8d2d33300">2.1</ix:nonFraction> million for the three months ended March&#160;31, 2019. </span></div><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:LeaseCostTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMjE5Mg_d713ef10-a048-4799-97cb-23f305492c59" continuedAt="i655d3b5cf99846178666b470efbd46d2" escape="true"><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The components of operating lease expense were as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:88.157%;"><tr><td style="width:1.0%;"></td><td style="width:19.061%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.629%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:41.117%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.629%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:14.749%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.463%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:14.752%;"></td><td style="width:1.0%;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Lease Costs</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Financial Statement Classification</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating lease cost</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Selling, general and administrative expenses</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjY4MjEyNWFlZWEzNzQyZGFhZTk0MDM1NDQ5NmVjZGNlL3RhYmxlcmFuZ2U6NjgyMTI1YWVlYTM3NDJkYWFlOTQwMzU0NDk2ZWNkY2VfMi00LTEtMS0w_3d0ce50a-d52f-4a73-a135-8c0f082b78e6">1,666</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjY4MjEyNWFlZWEzNzQyZGFhZTk0MDM1NDQ5NmVjZGNlL3RhYmxlcmFuZ2U6NjgyMTI1YWVlYTM3NDJkYWFlOTQwMzU0NDk2ZWNkY2VfMi02LTEtMS00MTQ_5c6040c6-5cc4-4fd6-b19e-1eca616acc46">1,370</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Short-term lease cost</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Selling, general and administrative expenses</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" name="us-gaap:ShortTermLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjY4MjEyNWFlZWEzNzQyZGFhZTk0MDM1NDQ5NmVjZGNlL3RhYmxlcmFuZ2U6NjgyMTI1YWVlYTM3NDJkYWFlOTQwMzU0NDk2ZWNkY2VfMy00LTEtMS0w_9f2bbea5-06e1-4994-94b6-ecde959f1327">574</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" name="us-gaap:ShortTermLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjY4MjEyNWFlZWEzNzQyZGFhZTk0MDM1NDQ5NmVjZGNlL3RhYmxlcmFuZ2U6NjgyMTI1YWVlYTM3NDJkYWFlOTQwMzU0NDk2ZWNkY2VfMy02LTEtMS00MTQ_0ba6d480-75ff-4872-9a8d-c839d0fc79e1">570</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Variable lease cost</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Selling, general and administrative expenses</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" name="us-gaap:VariableLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjY4MjEyNWFlZWEzNzQyZGFhZTk0MDM1NDQ5NmVjZGNlL3RhYmxlcmFuZ2U6NjgyMTI1YWVlYTM3NDJkYWFlOTQwMzU0NDk2ZWNkY2VfNC00LTEtMS0w_1f1e4f26-d902-4570-9e6b-d4a89108a3c8">394</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" name="us-gaap:VariableLeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjY4MjEyNWFlZWEzNzQyZGFhZTk0MDM1NDQ5NmVjZGNlL3RhYmxlcmFuZ2U6NjgyMTI1YWVlYTM3NDJkYWFlOTQwMzU0NDk2ZWNkY2VfNC02LTEtMS00MTQ_d1212e41-7c81-45aa-bd0c-768910105e38">163</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net lease cost</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjY4MjEyNWFlZWEzNzQyZGFhZTk0MDM1NDQ5NmVjZGNlL3RhYmxlcmFuZ2U6NjgyMTI1YWVlYTM3NDJkYWFlOTQwMzU0NDk2ZWNkY2VfNS00LTEtMS0w_0ce5c71c-e817-44bd-84ba-24ab44125905">2,634</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LeaseCost" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjY4MjEyNWFlZWEzNzQyZGFhZTk0MDM1NDQ5NmVjZGNlL3RhYmxlcmFuZ2U6NjgyMTI1YWVlYTM3NDJkYWFlOTQwMzU0NDk2ZWNkY2VfNS02LTEtMS00MTg_a65b0ed6-b521-4c14-8ceb-9caca3203ff0">2,103</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td></tr></table></div></ix:nonNumeric><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="tyl:ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMjE2OA_c46e5ee6-c9b8-443a-b5ea-3936f9e08e4b" escape="true"><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of March&#160;31, 2020, Right-of-use ("ROU") lease assets and lease liabilities for our operating leases were recorded in the condensed consolidated balance sheet as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:80.555%;"><tr><td style="width:1.0%;"></td><td style="width:56.257%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.707%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:16.693%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:1.070%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:18.873%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;">Assets:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating lease right-of-use assets</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmYyMDViNzJmMTFiMTQzZDA5MzIzNjEwZWEzNTA1N2M1L3RhYmxlcmFuZ2U6ZjIwNWI3MmYxMWIxNDNkMDkzMjM2MTBlYTM1MDU3YzVfMi0yLTEtMS0w_859cc6f9-6a0b-4f71-b009-d2da881f9e0d">17,992</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseRightOfUseAsset" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmYyMDViNzJmMTFiMTQzZDA5MzIzNjEwZWEzNTA1N2M1L3RhYmxlcmFuZ2U6ZjIwNWI3MmYxMWIxNDNkMDkzMjM2MTBlYTM1MDU3YzVfMi00LTEtMS00NTY_959062ca-b00f-45f8-89f5-f3100c5a8e95">18,992</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;">Liabilities:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating leases, short-term</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmYyMDViNzJmMTFiMTQzZDA5MzIzNjEwZWEzNTA1N2M1L3RhYmxlcmFuZ2U6ZjIwNWI3MmYxMWIxNDNkMDkzMjM2MTBlYTM1MDU3YzVfNC0yLTEtMS0w_7962545e-e560-41ba-9325-7598af2b0705">6,373</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityCurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmYyMDViNzJmMTFiMTQzZDA5MzIzNjEwZWEzNTA1N2M1L3RhYmxlcmFuZ2U6ZjIwNWI3MmYxMWIxNDNkMDkzMjM2MTBlYTM1MDU3YzVfNC00LTEtMS00NTk_4edf288d-1994-4c97-8f73-5324a2540922">6,387</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating leases, long-term</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmYyMDViNzJmMTFiMTQzZDA5MzIzNjEwZWEzNTA1N2M1L3RhYmxlcmFuZ2U6ZjIwNWI3MmYxMWIxNDNkMDkzMjM2MTBlYTM1MDU3YzVfNS0yLTEtMS0w_191b95cf-2f03-4c92-a831-f609c63a3062">15,548</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiabilityNoncurrent" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmYyMDViNzJmMTFiMTQzZDA5MzIzNjEwZWEzNTA1N2M1L3RhYmxlcmFuZ2U6ZjIwNWI3MmYxMWIxNDNkMDkzMjM2MTBlYTM1MDU3YzVfNS00LTEtMS00NjI_83bddcc7-0c31-4454-a6a7-7d34f1d079d5">16,822</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total lease liabilities</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmYyMDViNzJmMTFiMTQzZDA5MzIzNjEwZWEzNTA1N2M1L3RhYmxlcmFuZ2U6ZjIwNWI3MmYxMWIxNDNkMDkzMjM2MTBlYTM1MDU3YzVfNi0yLTEtMS0w_f5fc67bf-d146-4305-877b-fba099e207f0">21,921</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmYyMDViNzJmMTFiMTQzZDA5MzIzNjEwZWEzNTA1N2M1L3RhYmxlcmFuZ2U6ZjIwNWI3MmYxMWIxNDNkMDkzMjM2MTBlYTM1MDU3YzVfNi00LTEtMS00NDM_40cecc25-4f4b-4900-a404-99a930711f6f">23,209</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div></ix:nonNumeric><ix:continuation id="i655d3b5cf99846178666b470efbd46d2"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="tyl:ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMjE3NQ_11978883-7719-492c-83cf-0dff65235d9e" escape="true"><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Supplemental information related to leases was as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:85.672%;"><tr><td style="width:1.0%;"></td><td style="width:59.945%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.653%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:15.918%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:1.165%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:15.919%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other Information</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration: underline;">Cash flows</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;">:</span></div></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cash paid amounts included in the measurement of lease liabilities:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating cash outflows from operating leases</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasePayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjcyNzkzNDQyMTU2OTRlNjZhMWFiZDA1ZmIxMmNmNTYzL3RhYmxlcmFuZ2U6NzI3OTM0NDIxNTY5NGU2NmExYWJkMDVmYjEyY2Y1NjNfNC0yLTEtMS0w_4bb49de8-1fac-4d33-a42c-1d305ab66218">1,873</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeasePayments" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjcyNzkzNDQyMTU2OTRlNjZhMWFiZDA1ZmIxMmNmNTYzL3RhYmxlcmFuZ2U6NzI3OTM0NDIxNTY5NGU2NmExYWJkMDVmYjEyY2Y1NjNfNC00LTEtMS00NjY_9a146278-eab0-4b25-9396-c3db256ee946">1,530</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Right-of-use assets obtained in exchange for lease obligations (non-cash):</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating leases</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjcyNzkzNDQyMTU2OTRlNjZhMWFiZDA1ZmIxMmNmNTYzL3RhYmxlcmFuZ2U6NzI3OTM0NDIxNTY5NGU2NmExYWJkMDVmYjEyY2Y1NjNfNy0yLTEtMS0w_a9d40f0c-1bba-47e8-8a17-6756193cf9d9">457</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjcyNzkzNDQyMTU2OTRlNjZhMWFiZDA1ZmIxMmNmNTYzL3RhYmxlcmFuZ2U6NzI3OTM0NDIxNTY5NGU2NmExYWJkMDVmYjEyY2Y1NjNfNy00LTEtMS00NzM_2b3c1272-6f74-4b76-be61-ff82cb8d6b5a">431</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;">Lease term and discount rate:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted average remaining lease term (years)</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonNumeric contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjcyNzkzNDQyMTU2OTRlNjZhMWFiZDA1ZmIxMmNmNTYzL3RhYmxlcmFuZ2U6NzI3OTM0NDIxNTY5NGU2NmExYWJkMDVmYjEyY2Y1NjNfMTAtMi0xLTEtMA_36806b66-e0d0-44ad-806f-321b908aabb2">4</ix:nonNumeric></span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonNumeric contextRef="i6775188fc49547f38d76e5875298883c_I20190331" format="ixt-sec:duryear" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjcyNzkzNDQyMTU2OTRlNjZhMWFiZDA1ZmIxMmNmNTYzL3RhYmxlcmFuZ2U6NzI3OTM0NDIxNTY5NGU2NmExYWJkMDVmYjEyY2Y1NjNfMTAtNC0xLTEtNDc2_de28193a-93ba-435f-ad39-a9d5a8ebd40e">5</ix:nonNumeric></span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted average discount rate</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="number" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="4" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjcyNzkzNDQyMTU2OTRlNjZhMWFiZDA1ZmIxMmNmNTYzL3RhYmxlcmFuZ2U6NzI3OTM0NDIxNTY5NGU2NmExYWJkMDVmYjEyY2Y1NjNfMTEtMi0xLTEtMA_d6c5b8bf-cba3-4626-bc59-7bd50583f817">4.00</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="number" contextRef="i6775188fc49547f38d76e5875298883c_I20190331" decimals="4" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjcyNzkzNDQyMTU2OTRlNjZhMWFiZDA1ZmIxMmNmNTYzL3RhYmxlcmFuZ2U6NzI3OTM0NDIxNTY5NGU2NmExYWJkMDVmYjEyY2Y1NjNfMTEtNC0xLTEtNDc5_82b8cb52-d3f7-4356-9463-2307d507b41e">4.00</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr></table></div></ix:nonNumeric></ix:continuation></ix:continuation></ix:continuation><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">12</span></div></div></div><hr style="page-break-after:always"/><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><ix:continuation id="i1a2f2f5ea61b4f97bb05cd04d1e985ee"><ix:continuation id="i49e06a00ed99480ab4d0cbe0d736fdb2"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMjE3MQ_877be574-9557-47e7-ad0e-e69cd793baf1" escape="true"><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of&#160;March&#160;31, 2020, maturities of lease liabilities were as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:69.590%;"><tr><td style="width:1.0%;"></td><td style="width:69.428%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:1.270%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:25.102%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Year ending December 31,</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020 (Remaining 2020)</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjU3NmQxY2IzNDcwMDQ3ZTBiYjY1OTcxMTcyNWQyZTA3L3RhYmxlcmFuZ2U6NTc2ZDFjYjM0NzAwNDdlMGJiNjU5NzExNzI1ZDJlMDdfMS0yLTEtMS0w_2a2b7bac-27b9-450e-a811-72185a28ef5e">5,845</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2021</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjU3NmQxY2IzNDcwMDQ3ZTBiYjY1OTcxMTcyNWQyZTA3L3RhYmxlcmFuZ2U6NTc2ZDFjYjM0NzAwNDdlMGJiNjU5NzExNzI1ZDJlMDdfMi0yLTEtMS0w_89757d05-fa01-4f14-8eb9-2e3bdea85577">6,340</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2022</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjU3NmQxY2IzNDcwMDQ3ZTBiYjY1OTcxMTcyNWQyZTA3L3RhYmxlcmFuZ2U6NTc2ZDFjYjM0NzAwNDdlMGJiNjU5NzExNzI1ZDJlMDdfMy0yLTEtMS0w_71674b42-3039-48c4-8ef1-48cd6a5e6aa4">4,021</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2023</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjU3NmQxY2IzNDcwMDQ3ZTBiYjY1OTcxMTcyNWQyZTA3L3RhYmxlcmFuZ2U6NTc2ZDFjYjM0NzAwNDdlMGJiNjU5NzExNzI1ZDJlMDdfNC0yLTEtMS0w_2917557a-0787-4cfc-b8ef-d51729465b16">2,989</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2024</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjU3NmQxY2IzNDcwMDQ3ZTBiYjY1OTcxMTcyNWQyZTA3L3RhYmxlcmFuZ2U6NTc2ZDFjYjM0NzAwNDdlMGJiNjU5NzExNzI1ZDJlMDdfNS0yLTEtMS0w_cb3eee22-9c73-451a-9bf3-ed3a45800aac">2,545</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjU3NmQxY2IzNDcwMDQ3ZTBiYjY1OTcxMTcyNWQyZTA3L3RhYmxlcmFuZ2U6NTc2ZDFjYjM0NzAwNDdlMGJiNjU5NzExNzI1ZDJlMDdfNi0yLTEtMS0w_d1da3d16-0daf-4da4-a8fd-29ca3cae2aa3">2,133</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total lease payments</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjU3NmQxY2IzNDcwMDQ3ZTBiYjY1OTcxMTcyNWQyZTA3L3RhYmxlcmFuZ2U6NTc2ZDFjYjM0NzAwNDdlMGJiNjU5NzExNzI1ZDJlMDdfNy0yLTEtMS0w_a7c44637-eb07-497b-a00e-dc17540ecf5c">23,873</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Less: Interest</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjU3NmQxY2IzNDcwMDQ3ZTBiYjY1OTcxMTcyNWQyZTA3L3RhYmxlcmFuZ2U6NTc2ZDFjYjM0NzAwNDdlMGJiNjU5NzExNzI1ZDJlMDdfOC0yLTEtMS0w_1be917de-d1cf-4e64-a508-190cdee6646e">1,952</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Present value of operating lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingLeaseLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjU3NmQxY2IzNDcwMDQ3ZTBiYjY1OTcxMTcyNWQyZTA3L3RhYmxlcmFuZ2U6NTc2ZDFjYjM0NzAwNDdlMGJiNjU5NzExNzI1ZDJlMDdfOS0yLTEtMS0w_82e65978-2482-4ea7-8160-8d527dde15d1">21,921</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div></ix:nonNumeric><div style="margin-top:18pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Rental Income from third parties</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We own office buildings in Bangor, Falmouth and Yarmouth, Maine; Lubbock and Plano, Texas; Troy, Michigan; Latham, New York; and Moraine, Ohio. We lease space in some of these buildings to third-party tenants. The property we lease to others under operating leases consists primarily of specific facilities where one tenant obtains substantially all of the economic benefit from the asset and has the right to direct the use of the asset. These non-cancelable leases expire between 2020 and 2025, and some have options to extend the lease for up to&#160;<ix:nonNumeric contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" format="ixt-sec:durwordsen" name="us-gaap:LessorOperatingLeaseRenewalTerm" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMTU4OA_7b9acc7c-e3b9-461e-9e9b-a2163579bef7">five years</ix:nonNumeric>. We determine if an arrangement is a lease at inception. None of our leases allow the lessee to purchase the leased asset.</span></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Rental income from third-party tenants for the three months ended March&#160;31, 2020, totaled&#160;$<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RentalIncomeNonoperating" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMTc2NQ_b3f05e7b-5ed8-4488-ac51-cec705b01370">274,000</ix:nonFraction> and for the three months ended March&#160;31, 2019, totaled $<ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RentalIncomeNonoperating" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMTgyOQ_feb56e41-914b-4d1b-b86f-55181ca84fb1">284,000</ix:nonFraction>. Rental income is included in Hardware and other revenue on the condensed consolidated statements of income. <ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:OperatingLeaseLeaseIncomeTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMjE4Nw_0afcbe03-088e-4e4f-865f-2e3f90d8e1cf" continuedAt="iadf4b1840abe4e3c9edb4d35eca28c5e" escape="true">Future minimum operating rental income based on contractual agreements is as follows:</ix:nonNumeric></span></div><div><span><br/></span></div><div style="text-align:center;margin-bottom:6pt;"><ix:continuation id="iadf4b1840abe4e3c9edb4d35eca28c5e"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:75.877%;"><tr><td style="width:1.0%;"></td><td style="width:63.510%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:1.148%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:31.142%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Year ending December 31,</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount</span></td></tr><tr><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020 (Remaining 2020)</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmI3NmZjNDAwMzkyNDQwNzVhOTdmMTk5N2E2YWY3MDk4L3RhYmxlcmFuZ2U6Yjc2ZmM0MDAzOTI0NDA3NWE5N2YxOTk3YTZhZjcwOThfMi0yLTEtMS0w_f062f1b5-1865-4f55-8c0b-1525b26b00d4">1,009</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2021</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LessorOperatingLeasePaymentsToBeReceivedTwoYears" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmI3NmZjNDAwMzkyNDQwNzVhOTdmMTk5N2E2YWY3MDk4L3RhYmxlcmFuZ2U6Yjc2ZmM0MDAzOTI0NDA3NWE5N2YxOTk3YTZhZjcwOThfMy0yLTEtMS0w_79cbb73c-ed9b-4b3f-854d-27bee331637e">1,372</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2022</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LessorOperatingLeasePaymentsToBeReceivedThreeYears" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmI3NmZjNDAwMzkyNDQwNzVhOTdmMTk5N2E2YWY3MDk4L3RhYmxlcmFuZ2U6Yjc2ZmM0MDAzOTI0NDA3NWE5N2YxOTk3YTZhZjcwOThfNC0yLTEtMS0w_39de0207-7dad-4ebf-9afd-7a8d489e366e">1,402</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2023</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LessorOperatingLeasePaymentsToBeReceivedFourYears" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmI3NmZjNDAwMzkyNDQwNzVhOTdmMTk5N2E2YWY3MDk4L3RhYmxlcmFuZ2U6Yjc2ZmM0MDAzOTI0NDA3NWE5N2YxOTk3YTZhZjcwOThfNS0yLTEtMS0w_d3e189cf-7f5c-420d-8ade-b6d8a3400f5a">1,432</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2024</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LessorOperatingLeasePaymentsToBeReceivedFiveYears" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmI3NmZjNDAwMzkyNDQwNzVhOTdmMTk5N2E2YWY3MDk4L3RhYmxlcmFuZ2U6Yjc2ZmM0MDAzOTI0NDA3NWE5N2YxOTk3YTZhZjcwOThfNi0yLTEtMS0w_9707cd09-4c4d-4c22-af23-fce2722ce701">1,462</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" name="us-gaap:LessorOperatingLeasePaymentsToBeReceivedThereafter" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmI3NmZjNDAwMzkyNDQwNzVhOTdmMTk5N2E2YWY3MDk4L3RhYmxlcmFuZ2U6Yjc2ZmM0MDAzOTI0NDA3NWE5N2YxOTk3YTZhZjcwOThfNy0yLTEtMS0w_a3abc6bf-71d2-4637-adb3-27d1e0822841">857</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:LessorOperatingLeasePaymentsToBeReceived" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmI3NmZjNDAwMzkyNDQwNzVhOTdmMTk5N2E2YWY3MDk4L3RhYmxlcmFuZ2U6Yjc2ZmM0MDAzOTI0NDA3NWE5N2YxOTk3YTZhZjcwOThfOC0yLTEtMS0w_27368cca-22f7-4cfa-a4f3-418d5455dfa7">7,534</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></ix:continuation></div><div style="margin-top:15pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of March&#160;31, 2020, we had no additional significant operating or finance leases that had not yet commenced.</span></div></ix:continuation></ix:continuation><div id="idedd8d3e0b164448a7aeb348636ed2a9_64"></div><div style="margin-top:18pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(11)&#160;<ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82NC9mcmFnOmE5MThkMTc0ZDhjNTRmYmU5MjZkNzFkZDJjZTFlN2Y5L3RleHRyZWdpb246YTkxOGQxNzRkOGM1NGZiZTkyNmQ3MWRkMmNlMWU3ZjlfMjQ3_05e23726-79f5-4e21-909d-94be5d90558b" continuedAt="if2ebabb7046e4bb4901b716ea216bfdc" escape="true">Share-Based Compensation</ix:nonNumeric></span></div><ix:continuation id="if2ebabb7046e4bb4901b716ea216bfdc"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82NC9mcmFnOmE5MThkMTc0ZDhjNTRmYmU5MjZkNzFkZDJjZTFlN2Y5L3RleHRyZWdpb246YTkxOGQxNzRkOGM1NGZiZTkyNmQ3MWRkMmNlMWU3ZjlfMjU0_303d7926-c594-46ff-9184-dc00b32184d1" escape="true"><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes share-based compensation expense related to share-based awards recorded in the condensed consolidated statements of income, pursuant to ASC 718, </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Stock Compensation</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">:</span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:65.935%;"><tr><td style="width:1.0%;"></td><td style="width:62.745%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.908%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:12.855%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:2.460%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:14.632%;"></td><td style="width:1.0%;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cost of software services, maintenance and subscriptions</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i89c2da0acd3c4bfdb10925118ce493ff_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82NC9mcmFnOmE5MThkMTc0ZDhjNTRmYmU5MjZkNzFkZDJjZTFlN2Y5L3RhYmxlOmU1NWVhMTM5ZDUzZjQ0YTE4NWEzZjg3MGQ1MDM3OTM3L3RhYmxlcmFuZ2U6ZTU1ZWExMzlkNTNmNDRhMTg1YTNmODcwZDUwMzc5MzdfMi0yLTEtMS0w_8f8ae3ff-95e8-470e-a460-8aae7f75148c">4,252</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="iac1b4e8d5e334b489e6fab9ec6ea66a3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82NC9mcmFnOmE5MThkMTc0ZDhjNTRmYmU5MjZkNzFkZDJjZTFlN2Y5L3RhYmxlOmU1NWVhMTM5ZDUzZjQ0YTE4NWEzZjg3MGQ1MDM3OTM3L3RhYmxlcmFuZ2U6ZTU1ZWExMzlkNTNmNDRhMTg1YTNmODcwZDUwMzc5MzdfMi00LTEtMS0w_20e5c063-b11b-49f5-9686-3e6e23b1efc3">3,798</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Selling, general and administrative expenses</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ibb616f6cafed4e7da6716dcfdc9ae8b0_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82NC9mcmFnOmE5MThkMTc0ZDhjNTRmYmU5MjZkNzFkZDJjZTFlN2Y5L3RhYmxlOmU1NWVhMTM5ZDUzZjQ0YTE4NWEzZjg3MGQ1MDM3OTM3L3RhYmxlcmFuZ2U6ZTU1ZWExMzlkNTNmNDRhMTg1YTNmODcwZDUwMzc5MzdfMy0yLTEtMS0w_09b8c9e5-069b-4313-9cff-ea1f777bb635">13,050</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ifd55246cbed7407c88ed3a166dfd35c7_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82NC9mcmFnOmE5MThkMTc0ZDhjNTRmYmU5MjZkNzFkZDJjZTFlN2Y5L3RhYmxlOmU1NWVhMTM5ZDUzZjQ0YTE4NWEzZjg3MGQ1MDM3OTM3L3RhYmxlcmFuZ2U6ZTU1ZWExMzlkNTNmNDRhMTg1YTNmODcwZDUwMzc5MzdfMy00LTEtMS0w_ce5a10d4-8ca5-4c4c-b078-d9f5ec2d642a">10,618</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total share-based compensation expense</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82NC9mcmFnOmE5MThkMTc0ZDhjNTRmYmU5MjZkNzFkZDJjZTFlN2Y5L3RhYmxlOmU1NWVhMTM5ZDUzZjQ0YTE4NWEzZjg3MGQ1MDM3OTM3L3RhYmxlcmFuZ2U6ZTU1ZWExMzlkNTNmNDRhMTg1YTNmODcwZDUwMzc5MzdfNC0yLTEtMS0w_217d4373-883a-4ecb-b9df-ad131c9d73a7">17,302</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AllocatedShareBasedCompensationExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82NC9mcmFnOmE5MThkMTc0ZDhjNTRmYmU5MjZkNzFkZDJjZTFlN2Y5L3RhYmxlOmU1NWVhMTM5ZDUzZjQ0YTE4NWEzZjg3MGQ1MDM3OTM3L3RhYmxlcmFuZ2U6ZTU1ZWExMzlkNTNmNDRhMTg1YTNmODcwZDUwMzc5MzdfNC00LTEtMS0w_aee07a7e-ac9b-4b2d-90fa-66bd491473eb">14,416</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr></table></div></ix:nonNumeric></ix:continuation><div><span><br/></span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">13</span></div></div></div><hr style="page-break-after:always"/><div id="idedd8d3e0b164448a7aeb348636ed2a9_67"></div><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(12)&#160;<ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:SegmentReportingDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RleHRyZWdpb246OTY4YjZjZDZjMTU2NGEyNGI0NWJmYmQyNzYwNjNiMGZfMjk5Mg_3370a94b-d419-4b62-b26f-cd3a250c668b" continuedAt="idc867fd5041c4c42a7e3aaa4fd72275c" escape="true">Segment and Related Information</ix:nonNumeric></span></div><ix:continuation id="idc867fd5041c4c42a7e3aaa4fd72275c" continuedAt="i231a21aa32cc4b72a79a3ece35dbfa8b"><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We provide integrated information management solutions and services for the public sector, with a focus on local governments.</span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We provide our software systems and services and appraisal services through <ix:nonFraction unitRef="business_unit" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="INF" format="ixt-sec:numwordsen" name="tyl:NumberOfBusinessUnits" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RleHRyZWdpb246OTY4YjZjZDZjMTU2NGEyNGI0NWJmYmQyNzYwNjNiMGZfMjQ0_6e243d58-f144-47ab-a90f-b9fd78959706">seven</ix:nonFraction> business units, which focus on the following products:</span></div><div style="text-indent:-18pt;padding-left:56.25pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">financial management, education and planning, regulatory and maintenance software solutions;</span></div><div style="text-indent:-18pt;padding-left:56.25pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">financial management, municipal courts, planning, regulatory and maintenance management software solutions;</span></div><div style="text-indent:-18pt;padding-left:56.25pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">courts and justice and public safety software solutions; </span></div><div style="text-indent:-18pt;padding-left:56.25pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">data and insights solutions;</span></div><div style="text-indent:-18pt;padding-left:56.25pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">case management and business management solutions; and</span></div><div style="text-indent:-18pt;padding-left:56.25pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">appraisal and tax software solutions, property appraisal services and land and vital records management software solutions.</span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">In accordance with ASC 280-10, </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Segment Reporting</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">, the financial management, education and planning, regulatory and maintenance software solutions unit; financial management, municipal courts, planning, regulatory and maintenance, and land and vital records management software solutions unit; courts and justice and public safety software solutions unit; the data and insights solutions unit; and case management and business management solutions units meet the criteria for aggregation and are presented in <ix:nonFraction unitRef="segment" contextRef="i42f875f801df49e0ae125363a32e3b9f_D20200101-20200331" decimals="INF" format="ixt-sec:numwordsen" name="us-gaap:NumberOfReportableSegments" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RleHRyZWdpb246OTY4YjZjZDZjMTU2NGEyNGI0NWJmYmQyNzYwNjNiMGZfMTE0NA_077c3ae5-bfb8-4f8d-95af-255715d2b4ea">one</ix:nonFraction> reportable segment, the Enterprise Software (&#8220;ES&#8221;) segment. The ES segment provides public sector entities with software systems and services to meet their information technology and automation needs for mission-critical &#8220;back-office&#8221; functions such as: financial management and education, courts and justice, public safety, planning, regulatory and maintenance, and data and insights. The Appraisal and Tax (&#8220;A&amp;T&#8221;) segment provides systems and software that automate the appraisal and assessment of real and personal property, land and vital records management as well as property appraisal outsourcing services for local governments and taxing authorities. Property appraisal outsourcing services include: the physical inspection of commercial and residential properties; data collection and processing; computer analysis for property valuation; preparation of tax rolls; community education; and arbitration between taxpayers and the assessing jurisdiction.</span></div><div style="margin-top:12pt;margin-bottom:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We evaluate performance based on several factors, of which the primary financial measure is business segment operating income. We define segment operating income for our business units as income before non-cash amortization of intangible assets associated with their acquisitions, interest expense and income taxes. Segment operating income includes intercompany transactions. The majority of intercompany transactions relate to contracts involving more than one unit and are valued based on the contractual arrangement. Segment operating income for Corporate primarily consists of compensation costs for the executive management team and certain accounting and administrative staff and share-based compensation expense for the entire company. Corporate segment operating income also includes revenues and expenses related to a company-wide user conference. Due to the shelter-in-place orders caused by the COVID pandemic, we cancelled our company-wide user conference for the current year.</span></div><div style="margin-top:12pt;margin-bottom:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of January 1, 2020, the land and vital records management business unit, which was previously reported in the ES segment, was moved to the A&amp;T segment. These changes were made to reflect changes in the way in which management makes operating decisions, allocates resources, and manages the growth and profitability of the Company. Prior year amounts for the ES and A&amp;T segments have been adjusted to reflect the segment change.</span></div><div><span><br/></span></div><div style="margin-bottom:6pt;"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RleHRyZWdpb246OTY4YjZjZDZjMTU2NGEyNGI0NWJmYmQyNzYwNjNiMGZfMjk4OQ_eb2623f0-de75-4a65-ae6b-0e25fc370c9e" continuedAt="ied62d1d8e9154fd38c99dc0660b843d4" escape="true"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:98.976%;"><tr><td style="width:1.0%;"></td><td style="width:43.642%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.538%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.850%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.538%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.850%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.538%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.850%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.538%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.856%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise<br/>Software</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Revenues</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses and royalties</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ia638677e423e46e795938d5bfca9f360_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMy0yLTEtMS0w_033931fb-d128-4134-bd25-615924eed12c">15,951</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i02e20e1488054973a7d677512336d4fb_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMy00LTEtMS0w_62c5c4b8-a841-4886-947e-c33e6efbc79e">2,786</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i1b9306c5d397496a83892163b6505b93_D20200101-20200331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMy02LTEtMS0w_44b04187-9d26-4adf-976d-056fdabafd6e">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="if9be6dfd9bdb4d1dadb2df02216e2434_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMy04LTEtMS0w_1211eaeb-b8d9-409c-a434-d38449841b5d">18,737</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Subscriptions</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i31ec1a4f303343f3ad1bcbe6dc24f086_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNC0yLTEtMS0w_09f35ef1-fe28-44b2-ba8e-da09c5a2189f">76,644</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i73053d465832447da7cac300456c4044_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNC00LTEtMS0w_d01b30e0-7a20-4822-a444-2d0b864e35b0">5,079</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i8372ae198a8349d0a6941699d364f293_D20200101-20200331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNC02LTEtMS0w_45f403f0-c962-4d8d-b93d-da04cd4bb1dc">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i52db7fb94e9a43d3a090841e603a1f22_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNC04LTEtMS0w_6088bc90-a90d-4a9e-8323-8250223c7ba9">81,723</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7186904b8c0c4f148f2c8e84d3a5175c_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNS0yLTEtMS0w_2c38149d-4744-472b-aaff-e90150eba376">44,949</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic6396e699ba7498883d7de219f14fda9_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNS00LTEtMS0w_0ecffb54-77c6-43c7-a501-ed3086984464">7,184</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="iebcd92a7c6474103a59fdd915a76b6c0_D20200101-20200331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNS02LTEtMS0w_d173eb7d-443f-471c-9a52-a49709b05c16">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i22ad0df49d924893a3577a4c019909df_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNS04LTEtMS0w_1dc3dd75-828c-42a7-b49e-63148b5bf020">52,133</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Maintenance</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ie1761f4920b9412d992f4aef88d84432_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNi0yLTEtMS0w_fb64f947-b339-4770-8be0-ffab7a107e0b">104,841</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i5318dd3099774c668755517ea1885983_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNi00LTEtMS0w_75119390-1c83-4bf9-a14f-7c0359087ae4">9,524</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i4a3429ab8342458ab88db39b49e8f9b6_D20200101-20200331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNi02LTEtMS0w_1aac6791-7717-4fd7-a317-57d3343f5f87">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i240b9b798d9f4a78bc53dc123e9d7930_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNi04LTEtMS0w_f72c3832-4373-452b-9410-41dbb7a9023f">114,365</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i9dec249933f5400d82affc613383cff5_D20200101-20200331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNy0yLTEtMS0w_17f0a8b1-ba13-4537-82e3-4726ed4885ed">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="id7b90be9d14d426491f3ce3e4509d19f_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNy00LTEtMS0w_33195adb-739c-4e94-81b5-cbcd73338c8b">5,763</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="if8fdb33ac6544e9085af6789d5b70927_D20200101-20200331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNy02LTEtMS0w_0d736d06-42fa-47cf-a721-c561f2f9a00d">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ie84c2a45cd6a4877a7182c409a4cc863_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNy04LTEtMS0w_9035f304-9d19-49ee-8376-0891ded1efcc">5,763</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i35d42cc86afc4d4d9eace7fa3ef7daf2_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfOC0yLTEtMS0w_6d80d2f6-56d5-4c49-8ae3-f3c419c6ea2c">3,791</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i29a0984318494d8bb0f22c0324ebd5ad_D20200101-20200331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfOC00LTEtMS0w_e9b7c277-6e2a-46d0-b745-ce873cd855a3">27</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i763404a96d47446a88ccf5a480f6368e_D20200101-20200331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfOC02LTEtMS0w_cf3585c5-74b2-44d2-b83f-e60ace3cf25d">2</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i5af9908d35fc421fa38fdefcf3533c05_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfOC04LTEtMS0w_68d2a94a-5831-4874-8cf9-a2fcb8274664">3,820</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Intercompany</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i6e22976264eb477ebb061d302b1a4a52_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfOS0yLTEtMS0w_3dcf3bb8-d706-4cc7-b6bf-c1410d82229a">4,001</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i4108b1178c6d44a58e6ead6ef1b71a0c_D20200101-20200331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfOS00LTEtMS0w_d7fe42a0-ce8d-4ce4-b028-4fc8ec88caba">18</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i02f5a06064cc4ec28bd02663c5168da3_D20200101-20200331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfOS02LTEtMS0w_9f7ba5ba-ab3b-4093-a788-5fd9a5318eb5">4,019</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i944d80f733af47e19c5d70f7de91add8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMTAtMi0xLTEtMA_63ff9f31-0fab-44fd-8c89-d369fe0f3b91">250,177</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i4059a89ea6df435a8da4356261d9cf12_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMTAtNC0xLTEtMA_9cf502e3-4305-42a7-b507-f7415a209811">30,381</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i5930ed3cb5b3435aa6665d595745950e_D20200101-20200331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMTAtNi0xLTEtMA_a0dec6b3-20ae-4c79-855d-ffabd8882a8c">4,017</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMTAtOC0xLTEtMA_8c584929-4ec2-4ef2-941b-8ad1606b48d6">276,541</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Segment operating income</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i944d80f733af47e19c5d70f7de91add8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMTEtMi0xLTEtMA_02573acc-0a05-4743-96a2-84143962c706">60,472</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i4059a89ea6df435a8da4356261d9cf12_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMTEtNC0xLTEtMA_c4527e29-962e-4592-8e90-ef8852b1dd77">6,908</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i5930ed3cb5b3435aa6665d595745950e_D20200101-20200331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMTEtNi0xLTEtMA_a893c2fa-bbe9-47a1-b29f-fa1490e9dd58">20,068</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="iff0486376a584e5e9e13ef92fe8f90bc_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMTEtOC0xLTEtMA_3b97d09b-e5d2-470c-9498-aeb050641079">47,312</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></ix:nonNumeric></div></ix:continuation><div><span><br/></span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">14</span></div></div></div><hr style="page-break-after:always"/><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><ix:continuation id="i231a21aa32cc4b72a79a3ece35dbfa8b"><div style="text-align:center;margin-bottom:6pt;"><ix:continuation id="ied62d1d8e9154fd38c99dc0660b843d4"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:98.976%;"><tr><td style="width:1.0%;"></td><td style="width:43.642%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.538%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.850%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.538%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.850%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.538%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.850%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.538%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.856%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise<br/>Software</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Revenues</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses and royalties</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="if69a2b78847b40ae9f9373cf1912978a_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMy0yLTEtMS0w_0c1869e6-ccb9-48cc-8202-30693c528af8">18,522</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="iccdae54e7a27493d8f98f6a66c5f1194_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMy00LTEtMS0w_83b73ddc-2601-463f-990a-ff52bce9045d">3,271</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i48170640a80847cb97c1d75106a008cd_D20190101-20190331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMy02LTEtMS0w_ae9c0f6e-28c2-408c-8586-dffcdf86b0c0">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="id21098feabae4b92b6f5682c1e4471a3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMy04LTEtMS0w_8a9ab040-90fa-49fc-8979-90f5f017c411">21,793</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Subscriptions</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i2ae2aa28a883403c8172bad962ba4706_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNC0yLTEtMS0w_0b6340da-70f6-4c53-a6af-99e8ea6b56e5">63,255</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="id826499eeb364780be75ef5d950f8b81_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNC00LTEtMS0w_2890c7f6-4d7a-46a4-b673-4dc27bd9e06e">4,020</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i6e073656a53241679516e3df2a153368_D20190101-20190331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNC02LTEtMS0w_ef0467a3-5987-4a6e-b9f8-1ce58832b80c">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ife3e03665cb644d2b0fe0812b3be1710_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNC04LTEtMS0w_5bf87d59-2a05-4ca4-a0b8-0f325aa74dd4">67,275</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i06f6a86f5ff940938d4b4236e0d5720d_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNS0yLTEtMS0w_20d1331d-f44c-4cd6-8bfb-8f6175ee511d">40,456</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i08a9d0317108455889371733dcf957e3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNS00LTEtMS0w_d506ebe4-3ce8-4630-8906-8206b0eb6877">7,987</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="if751b1c96ca84edeb2ee59af17306cdc_D20190101-20190331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNS02LTEtMS0w_b2477c35-2725-4075-bef8-a731eb5b389b">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i922ed0a0756c470085fe495091639d66_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNS04LTEtMS0w_c326f6de-5fa6-49d8-bf0f-a0240ceeef59">48,443</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Maintenance</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i9bc205ba155944e591edd215bb565320_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNi0yLTEtMS0w_c14fed7d-9122-4d1a-ad8f-06b5b48d6cd5">91,188</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i499a0b9ab62a47a9a1bf005ef4e61524_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNi00LTEtMS0w_9f104b49-1eca-4bf4-94ba-adde12c94d33">8,964</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i28e98d7972d84b1c93b23f62de28333a_D20190101-20190331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNi02LTEtMS0w_0afff3c8-227a-4664-8dd4-a5f5c619795e">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ia1be6fa6298c4d629677609ef41783ea_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNi04LTEtMS0w_e59029d2-cfd6-491e-adbf-b29f172a9269">100,152</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i5197210f1bb74bb19eb6336213c6a8cc_D20190101-20190331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNy0yLTEtMS0w_d43053ed-7296-4ea5-baf5-d8b9d4d7cc0f">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i4fad6c75854b41f8a7604205a2c1ea97_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNy00LTEtMS0w_9d318018-26f1-48fc-a77a-15adbd84fe47">5,214</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i47756fec379740d0912899c98a50dc02_D20190101-20190331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNy02LTEtMS0w_cd6abd13-13ff-49b2-bb13-2400e4b2a782">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ie1b58e04a8b34027811767211b7fabc2_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNy04LTEtMS0w_cb5f9d12-a33c-4538-9d3b-b7d9201c850b">5,214</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i51ac72b374cb40b6b3d5740ebfd0554a_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfOC0yLTEtMS0w_25feb133-efc0-4a50-ba29-abb05f2c00f5">4,130</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i5a017816013a430598fd4a7e7742597a_D20190101-20190331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfOC00LTEtMS0w_3218fb92-597a-43ab-b9d6-01370933a148">62</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="if8b4873ec45e4fe083e35929d1ffadee_D20190101-20190331" decimals="-3" sign="-" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfOC02LTEtMS0w_2ca6606e-9f9f-40d0-89b9-a912afc05e3b">3</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="idb04aa621c4848ffbc32c50f8b142f14_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfOC04LTEtMS0w_494be705-05bd-47cd-a173-2ea3b3e017ad">4,189</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Intercompany</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="if0e6c18f09d44f2e8b69704bea001833_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfOS0yLTEtMS0w_e143d63e-7aed-4cfd-86be-a622f1616cdf">3,484</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ie375222b17754978a37dc3bff2cfc4cc_D20190101-20190331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfOS00LTEtMS0w_7163d09d-4ba9-4aec-842b-1c3b5a5b3f4b">69</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i17c88dcef4ef45ada567ec8ee42818fa_D20190101-20190331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfOS02LTEtMS0w_bdfae033-3b00-41e2-9b54-2deefdacffbc">3,553</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic4598c3e3afb485584b2e644355bd678_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMTAtMi0xLTEtMA_4704e268-99e5-4ac6-b6cf-03ce51fcec27">221,035</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7aad1ceff15e45eab0bb04cdbd984454_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMTAtNC0xLTEtMA_3d16ba3f-579c-494b-931c-82f25d6b4181">29,587</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i357a20f772354841b35f66d909d8013f_D20190101-20190331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMTAtNi0xLTEtMA_cda1dd23-b76b-46a2-b54c-f0f937569958">3,556</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMTAtOC0xLTEtMA_e8a50dd2-75ad-4d43-920d-3b494d4e0c67">247,066</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Segment operating income</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic4598c3e3afb485584b2e644355bd678_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMTEtMi0xLTEtMA_22e98b7a-c247-4c02-9c07-35a811d876b4">55,474</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7aad1ceff15e45eab0bb04cdbd984454_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMTEtNC0xLTEtMA_6071873c-ecd3-4037-8240-37a94808b622">7,095</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i357a20f772354841b35f66d909d8013f_D20190101-20190331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMTEtNi0xLTEtMA_88696cb8-f98f-42e2-b20f-4010eceb0b44">16,546</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="icc4557402c51425f9a7a8b8b90064f05_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMTEtOC0xLTEtMA_850eecbf-159b-487e-a8ed-69019ffa4392">46,023</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></ix:continuation></div><div><span><br/></span></div><div style="text-align:center;margin-bottom:6pt;"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RleHRyZWdpb246OTY4YjZjZDZjMTU2NGEyNGI0NWJmYmQyNzYwNjNiMGZfMjk5MA_d6ce196b-9b0f-4016-b919-04ea514d0fea" escape="true"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:77.631%;"><tr><td style="width:1.0%;"></td><td style="width:65.984%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:1.306%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:13.254%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.741%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:12.315%;"></td><td style="width:1.0%;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Reconciliation of reportable segment operating income to the Company's consolidated totals:</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total segment operating income</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="iff0486376a584e5e9e13ef92fe8f90bc_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmRiNjMzN2NjZDVlZjQ1YjZiYTA4ZjVmMzAxMGFiMDdmL3RhYmxlcmFuZ2U6ZGI2MzM3Y2NkNWVmNDViNmJhMDhmNWYzMDEwYWIwN2ZfMi0yLTEtMS0w_e2f0e42a-79f9-4038-bac2-308294ded794">47,312</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="icc4557402c51425f9a7a8b8b90064f05_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:OperatingIncomeLoss" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmRiNjMzN2NjZDVlZjQ1YjZiYTA4ZjVmMzAxMGFiMDdmL3RhYmxlcmFuZ2U6ZGI2MzM3Y2NkNWVmNDViNmJhMDhmNWYzMDEwYWIwN2ZfMi00LTEtMS0w_4c2defcb-9c43-497e-abee-f3ac19be7dd9">46,023</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amortization of acquired software</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i6249daabf00a43ca9a0a9fc9581828a1_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmRiNjMzN2NjZDVlZjQ1YjZiYTA4ZjVmMzAxMGFiMDdmL3RhYmxlcmFuZ2U6ZGI2MzM3Y2NkNWVmNDViNmJhMDhmNWYzMDEwYWIwN2ZfMy0yLTEtMS0w_f3482b3e-1a49-4035-81f2-407917fc82e1">8,027</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i8eb935a3bfb44b3c97e430acbfc4eb6f_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmRiNjMzN2NjZDVlZjQ1YjZiYTA4ZjVmMzAxMGFiMDdmL3RhYmxlcmFuZ2U6ZGI2MzM3Y2NkNWVmNDViNmJhMDhmNWYzMDEwYWIwN2ZfMy00LTEtMS0w_a6f4fed5-ebd6-4ec8-bd1e-6d334a54240e">6,682</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amortization of customer and trade name intangibles</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="ie5a4f94c748349c49c587b4b00cba1ee_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmRiNjMzN2NjZDVlZjQ1YjZiYTA4ZjVmMzAxMGFiMDdmL3RhYmxlcmFuZ2U6ZGI2MzM3Y2NkNWVmNDViNmJhMDhmNWYzMDEwYWIwN2ZfNC0yLTEtMS0w_bd52cc2d-1838-41c4-a8d3-043bdce9a10a">5,392</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="id32798fbaa3842f59a7d1565166db8ef_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:AmortizationOfIntangibleAssets" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmRiNjMzN2NjZDVlZjQ1YjZiYTA4ZjVmMzAxMGFiMDdmL3RhYmxlcmFuZ2U6ZGI2MzM3Y2NkNWVmNDViNmJhMDhmNWYzMDEwYWIwN2ZfNC00LTEtMS0w_65ae1a7f-32cd-42a4-83eb-95c582d98924">4,850</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other income, net</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i5f3a34d3ef0543119430a070809fa972_D20200101-20200331" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmRiNjMzN2NjZDVlZjQ1YjZiYTA4ZjVmMzAxMGFiMDdmL3RhYmxlcmFuZ2U6ZGI2MzM3Y2NkNWVmNDViNmJhMDhmNWYzMDEwYWIwN2ZfNS0yLTEtMS0w_1cbc4d71-d160-4400-9bb8-be53206cbb5d">990</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i1f584053dbb249b28b94a711ac2d24ec_D20190101-20190331" decimals="-3" name="us-gaap:OtherNonoperatingIncomeExpense" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmRiNjMzN2NjZDVlZjQ1YjZiYTA4ZjVmMzAxMGFiMDdmL3RhYmxlcmFuZ2U6ZGI2MzM3Y2NkNWVmNDViNmJhMDhmNWYzMDEwYWIwN2ZfNS00LTEtMS0w_7e1c9285-17c7-4c73-9420-7407b0ee2e12">586</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Income before income taxes</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmRiNjMzN2NjZDVlZjQ1YjZiYTA4ZjVmMzAxMGFiMDdmL3RhYmxlcmFuZ2U6ZGI2MzM3Y2NkNWVmNDViNmJhMDhmNWYzMDEwYWIwN2ZfNi0yLTEtMS0w_95915e6b-8e05-42e3-bd91-e9254506b280">34,883</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmRiNjMzN2NjZDVlZjQ1YjZiYTA4ZjVmMzAxMGFiMDdmL3RhYmxlcmFuZ2U6ZGI2MzM3Y2NkNWVmNDViNmJhMDhmNWYzMDEwYWIwN2ZfNi00LTEtMS0w_129eb1a6-4238-42d9-aa8d-0d53d81dbc34">35,077</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr></table></ix:nonNumeric></div></ix:continuation><div><span><br/></span></div><div id="idedd8d3e0b164448a7aeb348636ed2a9_70"></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(13)&#160;<ix:continuation id="i50df96d9bd854797a39aa63bc7f7a9e8" continuedAt="i5841503ad93c4c2e8a6ee0376e103ed1">Disaggregation of Revenue</ix:continuation></span></div><ix:continuation id="i5841503ad93c4c2e8a6ee0376e103ed1" continuedAt="i4468e124504642b4a0dcc40a42f34157"><div style="text-indent:-9pt;margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">    The tables below show disaggregation of revenue into categories that reflect how economic factors affect the nature, amount, timing, and uncertainty of revenue and cash flows.</span></div><div style="text-indent:-9pt;margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">    Timing of Revenue Recognition</span></div><div style="text-indent:-9pt;margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">    <ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RleHRyZWdpb246ZjZmYmIxMzk5MWYxNGUzY2EwYjVmMDBlZDc2ZGNkZDZfMTE3Mw_80b93a16-2161-4913-839c-48992aeb64f0" continuedAt="i66970eff3b364dcdae6fbea180244192" escape="true">Timing of revenue recognition by revenue category during the period is as follows:</ix:nonNumeric></span></div><div style="text-align:center;margin-top:12pt;margin-bottom:6pt;"><ix:continuation id="i66970eff3b364dcdae6fbea180244192" continuedAt="i18408f378c6f41a084a593a64f624c74"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"></td><td style="width:43.078%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.513%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:15.546%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.513%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:15.546%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.513%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:15.691%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Products and services transferred at a point in time</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Products and services transferred over time</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses and royalties</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i5f130b1cddfa464f81b553c4adfa1852_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfMy0yLTEtMS0w_51321007-dd58-495b-bcde-a4acc31daafa">16,066</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7398be0f21e641939afc14ed98fd0c4a_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfMy00LTEtMS0w_c8af957d-7d61-488a-a948-1ba04e408bdb">2,671</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="if9be6dfd9bdb4d1dadb2df02216e2434_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfMy02LTEtMS0w_b252ecdd-94a9-4f5d-a3ca-b2a300fb5832">18,737</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Subscriptions</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i778d0abd9ba94b548e2f23fe6215a02f_D20200101-20200331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNC0yLTEtMS0w_f9d34f6d-ed55-4156-8e84-bf75ca8a145a">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i88ad4490f06b4bcbaa1e384ff2cc636b_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNC00LTEtMS0w_65568d5e-c1a1-4016-b392-1f8dcec035bf">81,723</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i52db7fb94e9a43d3a090841e603a1f22_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNC02LTEtMS0w_b1abbb45-301e-44e5-a6bb-c8ff753d04c0">81,723</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i62a6afbc64914fe2879521e014caddae_D20200101-20200331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNS0yLTEtMS0w_257ebe6f-be86-413a-8090-6582b950d3af">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i6159463330ca46c1ac24a6f57f8e04fd_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNS00LTEtMS0w_766b8989-f285-4335-88fa-026f45372dd5">52,133</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i22ad0df49d924893a3577a4c019909df_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNS02LTEtMS0w_11091cc4-ed31-4680-a254-d2a843c7a00b">52,133</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Maintenance</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ia5f26c0bcac143d8bd8f1a8e83640103_D20200101-20200331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNi0yLTEtMS0w_35aa9274-926f-44f6-8538-1baf6a3d9390">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7ff257486b7c44758c908850034cf1b4_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNi00LTEtMS0w_9372d66f-9049-4c99-b4fe-a762f1c3bbec">114,365</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i240b9b798d9f4a78bc53dc123e9d7930_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNi02LTEtMS0w_6e28c75c-8698-4e95-80d0-584f1f729508">114,365</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i2a59a79167eb46ab80d96d3e4760a4de_D20200101-20200331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNy0yLTEtMS0w_3bced543-459a-4347-8e97-8f10ad6bbcc9">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i567a9f2fc37649f4bbf0cacb19642020_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNy00LTEtMS0w_2adfcc1e-c0b9-4482-bc1c-68fd5c70b110">5,763</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ie84c2a45cd6a4877a7182c409a4cc863_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNy02LTEtMS0w_1baf1e56-79e4-45ca-b1cd-4e722c687eed">5,763</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i91dc0fcbcb6e4a108e0b78afea5903e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfOC0yLTEtMS0w_37b6956d-c02b-4cdd-b473-354b88926eab">3,820</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ie8bbbe9b2e57404aa10d598afb1670ba_D20200101-20200331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfOC00LTEtMS0w_1315fcf6-fb65-46f5-ad73-811334644df5">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i5af9908d35fc421fa38fdefcf3533c05_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfOC02LTEtMS0w_01f0240f-6868-4fae-a52a-741f1b8c1d2e">3,820</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic2167dfd77a64473aa8874253785bdaf_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfOS0yLTEtMS0w_ca544c2b-52ef-477d-85b6-4416b1ac42c2">19,886</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i32abe40a2a344d6aa7c44349293ec062_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfOS00LTEtMS0w_f4b0ce4c-465f-451d-918b-2ecda1a93198">256,655</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfOS02LTEtMS0w_33a56567-be4d-451d-98b7-204bd617d953">276,541</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></ix:continuation></div></ix:continuation><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">15</span></div></div></div><hr style="page-break-after:always"/><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="text-align:center;margin-top:12pt;"><span><br/></span></div><ix:continuation id="i4468e124504642b4a0dcc40a42f34157" continuedAt="i70b3db11c4da4729bee2d6864ed7be0f"><div style="text-align:center;margin-bottom:6pt;"><ix:continuation id="i18408f378c6f41a084a593a64f624c74" continuedAt="i6e2467ff878e4e39a74c6039361ff0c1"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"></td><td style="width:43.301%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.501%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:15.531%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.501%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:15.531%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.501%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:15.534%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Products and services transferred at a point in time</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Products and services transferred over time</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses and royalties</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic438154480a547968214ff66cc860671_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfMy0yLTEtMS0w_d51b25c1-5dae-46fd-b329-0162c75f1bdc">16,910</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i81aeec1e60b34522bb6c10a9ae42c55a_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfMy00LTEtMS0w_c00f315b-707e-49c2-852d-ef23c649b4d6">4,883</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="id21098feabae4b92b6f5682c1e4471a3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfMy02LTEtMS0w_e662b660-f79f-48d8-867f-d60f6914c45b">21,793</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Subscriptions</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ifc620dad4052457291a8289093c3926c_D20190101-20190331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNC0yLTEtMS0w_f3dffd05-c6da-41f7-a8af-be75a6f1d86b">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i06486b440a2f42fca2926dd5c34b80a1_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNC00LTEtMS0w_329b417f-8bf5-4e50-a232-efbd0b9214d0">67,275</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ife3e03665cb644d2b0fe0812b3be1710_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNC02LTEtMS0w_87b54cdf-441e-4733-b0f9-866d15c127d3">67,275</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i335e8bf2b0b542acac9fc8b7e0866e20_D20190101-20190331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNS0yLTEtMS0w_208ce335-54d8-42cb-a586-69cbc5763c73">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ib5e9933f07ca4cd8b92fef549b555c84_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNS00LTEtMS0w_6dbd8945-c459-4cf2-87af-9b67158a741f">48,443</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i922ed0a0756c470085fe495091639d66_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNS02LTEtMS0w_f0bdbac8-b62f-4d02-baa6-5f449d14b179">48,443</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Maintenance</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i763adef998874ca09bf9a556462a1335_D20190101-20190331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNi0yLTEtMS0w_01abce45-5924-4c85-a222-5533edd7dd24">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="id6a28479ee6441a09aa3eb575fa2c9c4_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNi00LTEtMS0w_d20601d1-4afa-4fe0-87cf-fd4920cfcded">100,152</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ia1be6fa6298c4d629677609ef41783ea_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNi02LTEtMS0w_55ac264f-700e-45b5-898e-d85a82e07c03">100,152</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="icb4d7bf548f64734a9d5697f644631da_D20190101-20190331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNy0yLTEtMS0w_ef0d10b8-eb7d-4c9c-9491-a25f290a8ab1">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i48e012f533f94e69bec4c184beac70c9_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNy00LTEtMS0w_b54c5b9b-64f3-4320-8fe4-f8247bd7ead9">5,214</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ie1b58e04a8b34027811767211b7fabc2_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNy02LTEtMS0w_f73707f3-ab3d-4e47-9043-4ab1b4ad5b16">5,214</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ie2bbb44fb4b64a8dbb0c0551ba464c81_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfOC0yLTEtMS0w_20f7e9b6-b034-4c0a-8a86-8ddda52ca0f9">4,189</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="if6d202e298f749ca9661adec9ef9e826_D20190101-20190331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfOC00LTEtMS0w_5f235a22-4c2a-4a5c-a110-b845ae29f91a">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="idb04aa621c4848ffbc32c50f8b142f14_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfOC02LTEtMS0w_cfc55f15-d38c-415d-9aae-1b75a9e889b5">4,189</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i96d8cad12e5a4cf5a7e3d55f96d5fe1f_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfOS0yLTEtMS0w_db796977-f813-45cd-9503-f3e39c417e4c">21,099</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic0736c9243224541a773474e71c816e7_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfOS00LTEtMS0w_1a5212a8-f2b6-4937-b8b3-bb96733efe88">225,967</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfOS02LTEtMS0w_e14164a0-25b4-43a0-b967-fda306abe30a">247,066</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></ix:continuation></div><div style="text-align:center;"><span><br/></span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Recurring Revenue </span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The majority of our revenue is comprised of recurring revenues from maintenance and subscriptions. Virtually all of our on-premises software clients contract with us for maintenance and support, which provides us with a significant source of recurring revenue. We generally provide maintenance and support for our on-premises clients under annual, or in some cases, multi-year contracts. The contract terms for subscription arrangements range from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RleHRyZWdpb246ZjZmYmIxMzk5MWYxNGUzY2EwYjVmMDBlZDc2ZGNkZDZfODMy_52445c18-6c01-4972-858f-87b95f845d8e">one</span> to <ix:nonNumeric contextRef="iddae0efff8774178a4dbab5c433849a1_D20200101-20200331" format="ixt-sec:duryear" name="tyl:RevenueFromContractWithCustomerContractTerm" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RleHRyZWdpb246ZjZmYmIxMzk5MWYxNGUzY2EwYjVmMDBlZDc2ZGNkZDZfODM4_10e1793b-f015-4b58-9f81-ae1f0c6dae15">10</ix:nonNumeric> years but are typically contracted for initial periods of <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RleHRyZWdpb246ZjZmYmIxMzk5MWYxNGUzY2EwYjVmMDBlZDc2ZGNkZDZfODkz_c5a35317-6090-49f0-80d4-0ed5be63f368">three</span> to <ix:nonNumeric contextRef="iddae0efff8774178a4dbab5c433849a1_D20200101-20200331" format="ixt-sec:durwordsen" name="tyl:RevenueFromContractWithCustomerTypicalContractTerm" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RleHRyZWdpb246ZjZmYmIxMzk5MWYxNGUzY2EwYjVmMDBlZDc2ZGNkZDZfODk5_a60e22de-9a62-469b-934a-c7102049c21f">five years</ix:nonNumeric>, providing a significant source of recurring revenues on an annual basis. Non-recurring revenues are derived from all other revenue categories. </span></div><ix:continuation id="i6e2467ff878e4e39a74c6039361ff0c1"><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Recurring revenues and non-recurring revenues recognized during the period are as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"></td><td style="width:45.503%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.513%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.410%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.513%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.410%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.513%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.410%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.513%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.415%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise<br/>Software</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td></tr><tr><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Recurring revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i9679ba3cd4cc4e29a1c62acc23e58d13_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfMy0yLTEtMS0w_f943e8f2-0711-449b-96da-9015ce3f2cc1">181,485</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="iac5740cc78f54eee9c7d2e9261916a6c_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfMy00LTEtMS0w_b7186019-4744-4d89-b81b-85b358eae7ab">14,603</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i2f528cca431049179489cea19abd7ee2_D20200101-20200331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfMy02LTEtMS0w_6594d984-0957-4ba5-9ecc-98d900111614">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="if772a08e639f470b9939da8a14f55a5d_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfMy04LTEtMS0w_193424a6-a10d-4827-b0ab-3eba3b5d53f8">196,088</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-recurring revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ib87744e9a74345f0b52df5613ffae72d_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNC0yLTEtMS0w_8200c433-5ee7-4763-b7eb-ba14e9a2a499">64,691</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i15bcb49591934137ad58b30dcd83922f_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNC00LTEtMS0w_1b608be8-a6f2-4178-9dc8-ecbcd9f315fa">15,760</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i53770699f6244425b7aa35cfb1ef90f0_D20200101-20200331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNC02LTEtMS0w_4b3411c3-6e95-4ade-a117-e0acd3487c36">2</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="if01372c8c4d54f22822bd4fddf261589_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNC04LTEtMS0w_b3ba1d5a-5b24-42e8-b4ff-7435973bbb38">80,453</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Intercompany</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i6e22976264eb477ebb061d302b1a4a52_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNS0yLTEtMS0w_dca3217c-db20-438d-9dcc-ddd470b6879a">4,001</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i4108b1178c6d44a58e6ead6ef1b71a0c_D20200101-20200331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNS00LTEtMS0w_fa194703-b6bf-4685-9054-3a700701f281">18</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i02f5a06064cc4ec28bd02663c5168da3_D20200101-20200331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNS02LTEtMS0w_0c1bfdd3-1a99-4f17-9bf7-9aef608d286f">4,019</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i944d80f733af47e19c5d70f7de91add8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNi0yLTEtMS0w_51fb5a7c-314e-4840-8ec1-1a048f14c2a8">250,177</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i4059a89ea6df435a8da4356261d9cf12_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNi00LTEtMS0w_9db2b6f8-e8fb-4c8f-9cdd-6bee70ca4bd0">30,381</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="ic472cdd08b174bd0a334358c7a78f7fc_D20200101-20200331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNi02LTEtMS0w_1ce5f89f-affd-4a9c-9994-281012576073">4,017</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNi04LTEtMS0w_a22ebc5d-60ff-48dd-a331-7ad64edfefe0">276,541</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="text-align:center;margin-top:9pt;"><span><br/></span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"></td><td style="width:45.503%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.513%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.410%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.513%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.410%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.513%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.410%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.513%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.415%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise<br/>Software</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td></tr><tr><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Recurring revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="iab4b962eb99943ce8de03a471bdb3f9d_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfMy0yLTEtMS0w_97a24326-6e01-4f7f-9e86-260245650aa6">154,443</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i209cfcbffb764ac08c3ab8ad36a62c8b_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfMy00LTEtMS0w_592f4c5e-db3a-406a-9ea3-7edaf2a891e6">12,984</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i0d6133ab4f484af596b13cec4e042473_D20190101-20190331" decimals="-3" format="ixt:zerodash" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfMy02LTEtMS0w_f6819fa1-8efb-479a-9a77-4f82e8538bc5">&#8212;</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i13606cafdc7a487983431a017a0c209b_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfMy04LTEtMS0w_73b0e12e-09af-4f07-875c-ff6deae09bea">167,427</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-recurring revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i01651462b82441cfab958cd39f1cb072_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNC0yLTEtMS0w_b0cfe6dd-d163-4973-bbf1-85ce0cdba812">63,108</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7c2c0f3af757401fbd9afb82c07b9105_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNC00LTEtMS0w_9b742ec0-e160-4475-9cbc-52f4935bb103">16,534</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="ie1c4de1e95d34d4c8f57d4de2d7aced4_D20190101-20190331" decimals="-3" sign="-" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNC02LTEtMS0w_29e9b431-0c03-4424-beae-0c02ce45cd19">3</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i4948357185d84a6683271b22dde1252e_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNC04LTEtMS0w_56183497-f3d4-4afc-a380-ff568253c6b3">79,639</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Intercompany</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="if0e6c18f09d44f2e8b69704bea001833_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNS0yLTEtMS0w_30a2e72e-eabb-4bcd-961c-1d53026cd543">3,484</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ie375222b17754978a37dc3bff2cfc4cc_D20190101-20190331" decimals="-3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNS00LTEtMS0w_d828aed1-7da6-4db3-9fa4-f65f58627b02">69</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i17c88dcef4ef45ada567ec8ee42818fa_D20190101-20190331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNS02LTEtMS0w_cb278e02-9afc-40a9-a958-1056cb8bece6">3,553</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic4598c3e3afb485584b2e644355bd678_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNi0yLTEtMS0w_513f4001-a048-434a-b7de-b5a3cb73219b">221,035</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7aad1ceff15e45eab0bb04cdbd984454_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNi00LTEtMS0w_3d6ce006-5596-4853-ab72-7933ba20ccfe">29,587</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="ia44a14fb59ac495ea50bf95a685a16d8_D20190101-20190331" decimals="-3" sign="-" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNi02LTEtMS0w_8fa1a067-3d42-4909-9c14-ff94a8777e13">3,556</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNi04LTEtMS0w_01150db1-789f-4c54-a4a9-dcc9f37ad1f3">247,066</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div></ix:continuation></ix:continuation><div style="text-align:center;"><span><br/></span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">16</span></div></div></div><hr style="page-break-after:always"/><div id="idedd8d3e0b164448a7aeb348636ed2a9_76"></div><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="margin-top:6pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(14)&#160;<ix:continuation id="i70b3db11c4da4729bee2d6864ed7be0f" continuedAt="i3aedb414949a40899e4d89b75fa86137">Deferred Revenue and Performance Obligations</ix:continuation></span></div><ix:continuation id="i3aedb414949a40899e4d89b75fa86137"><ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RleHRyZWdpb246YWFjM2M1ZWRmYTUwNGE5OGFhMDdkNTNlNDEyN2FjZDNfNzI4_5a395fbf-8b0f-4a07-8174-0363703859b1" escape="true"><div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Total deferred revenue, including long-term, by segment is as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:75.877%;"><tr><td style="width:1.0%;"></td><td style="width:48.674%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.763%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:21.699%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.763%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:21.701%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise Software</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i4be7e173672747c39fd45e67723f4657_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOmUwYWY0MGFmNGM3OTQyODc5MWE2NTZmYmVhN2NhYzZlL3RhYmxlcmFuZ2U6ZTBhZjQwYWY0Yzc5NDI4NzkxYTY1NmZiZWE3Y2FjNmVfMS0yLTEtMS0w_043f5f38-1001-4382-a4db-548ce9c86925">333,314</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="id98be3fd44f641dd86477ce4adb5173b_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOmUwYWY0MGFmNGM3OTQyODc5MWE2NTZmYmVhN2NhYzZlL3RhYmxlcmFuZ2U6ZTBhZjQwYWY0Yzc5NDI4NzkxYTY1NmZiZWE3Y2FjNmVfMS00LTEtMS0w_c165a5ec-6330-4640-9567-2241eebb5afb">375,838</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i2638b261af7345f396d48d9f8300ae62_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOmUwYWY0MGFmNGM3OTQyODc5MWE2NTZmYmVhN2NhYzZlL3RhYmxlcmFuZ2U6ZTBhZjQwYWY0Yzc5NDI4NzkxYTY1NmZiZWE3Y2FjNmVfMi0yLTEtMS0w_250d19d4-5032-442a-8168-31ef13e6d197">31,205</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3094a16384cf4b55aff65cc2fd119cc0_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOmUwYWY0MGFmNGM3OTQyODc5MWE2NTZmYmVhN2NhYzZlL3RhYmxlcmFuZ2U6ZTBhZjQwYWY0Yzc5NDI4NzkxYTY1NmZiZWE3Y2FjNmVfMi00LTEtMS0w_b498ab0d-19ba-44fd-8c80-4e1a477cfcca">35,487</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ifd79c864ee4b409995e6af58347afb48_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOmUwYWY0MGFmNGM3OTQyODc5MWE2NTZmYmVhN2NhYzZlL3RhYmxlcmFuZ2U6ZTBhZjQwYWY0Yzc5NDI4NzkxYTY1NmZiZWE3Y2FjNmVfMy0yLTEtMS0w_083cccad-f73d-4b7b-9074-1882c4836514">1,607</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="id3bbee42c456455faba0dd145bb5bc58_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOmUwYWY0MGFmNGM3OTQyODc5MWE2NTZmYmVhN2NhYzZlL3RhYmxlcmFuZ2U6ZTBhZjQwYWY0Yzc5NDI4NzkxYTY1NmZiZWE3Y2FjNmVfMy00LTEtMS0w_7fdf15d7-6957-4d98-b827-0b5b2f41b269">1,369</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOmUwYWY0MGFmNGM3OTQyODc5MWE2NTZmYmVhN2NhYzZlL3RhYmxlcmFuZ2U6ZTBhZjQwYWY0Yzc5NDI4NzkxYTY1NmZiZWE3Y2FjNmVfNC0yLTEtMS0w_263eef92-0473-433e-bf09-d8a01c4cdb66">366,126</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOmUwYWY0MGFmNGM3OTQyODc5MWE2NTZmYmVhN2NhYzZlL3RhYmxlcmFuZ2U6ZTBhZjQwYWY0Yzc5NDI4NzkxYTY1NmZiZWE3Y2FjNmVfNC00LTEtMS0w_11b957f3-e2a2-4041-b570-17254112d588">412,694</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Changes in total deferred revenue, including long-term, were as follows:</span></div><div><span><br/></span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:76.754%;"><tr><td style="width:1.0%;"></td><td style="width:73.238%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:1.133%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:21.429%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three months ended March 31, 2020</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of December 31, 2019</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOjA4NGQ1YzU4ZGJlNTQ0NWU5MGExM2IyZjI5OGJhNWU1L3RhYmxlcmFuZ2U6MDg0ZDVjNThkYmU1NDQ1ZTkwYTEzYjJmMjk4YmE1ZTVfMS0yLTEtMS0w_11b957f3-e2a2-4041-b570-17254112d588">412,694</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Deferral of revenue</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="tyl:ContractWithCustomerLiabilityIncreaseFromDeferral" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOjA4NGQ1YzU4ZGJlNTQ0NWU5MGExM2IyZjI5OGJhNWU1L3RhYmxlcmFuZ2U6MDg0ZDVjNThkYmU1NDQ1ZTkwYTEzYjJmMjk4YmE1ZTVfMi0yLTEtMS0w_8dbe7244-9580-4afe-93e0-8193805d9d70">198,324</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Recognition of deferred revenue</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(<ix:nonFraction unitRef="usd" contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiabilityRevenueRecognized" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOjA4NGQ1YzU4ZGJlNTQ0NWU5MGExM2IyZjI5OGJhNWU1L3RhYmxlcmFuZ2U6MDg0ZDVjNThkYmU1NDQ1ZTkwYTEzYjJmMjk4YmE1ZTVfMy0yLTEtMS0w_7da4a2f8-d921-46e7-87f5-b77fd5c0a701">244,892</ix:nonFraction>)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of March 31, 2020</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-3" format="ixt:numdotdecimal" name="us-gaap:ContractWithCustomerLiability" scale="3" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOjA4NGQ1YzU4ZGJlNTQ0NWU5MGExM2IyZjI5OGJhNWU1L3RhYmxlcmFuZ2U6MDg0ZDVjNThkYmU1NDQ1ZTkwYTEzYjJmMjk4YmE1ZTVfOS0yLTEtMS0w_448eea6a-40ad-464d-8473-95fcecee16e2">366,126</ix:nonFraction>&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div></ix:nonNumeric><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Transaction Price Allocated to the Remaining Performance Obligations</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The aggregate amount of transaction price allocated to the remaining performance obligations represents contracted revenue that has not yet been recognized ("backlog"), which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods. Backlog as of March&#160;31, 2020, was $<ix:nonFraction unitRef="usd" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="-8" format="ixt:numdotdecimal" name="us-gaap:RevenueRemainingPerformanceObligation" scale="9" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RleHRyZWdpb246YWFjM2M1ZWRmYTUwNGE5OGFhMDdkNTNlNDEyN2FjZDNfNjA4_1d201c95-dc31-4f97-a3f4-d1edf08a9b69">1.50</ix:nonFraction> billion, of which we expect to recognize approximately <ix:nonFraction unitRef="number" contextRef="i5d69f3a426294011a0c91acb9425c994_I20200331" decimals="2" name="us-gaap:RevenueRemainingPerformanceObligationPercentage" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RleHRyZWdpb246YWFjM2M1ZWRmYTUwNGE5OGFhMDdkNTNlNDEyN2FjZDNfNjU4_e1763ba6-3cd2-4fc5-93f3-30f73ad51104">48</ix:nonFraction>% as revenue over the next <ix:nonNumeric contextRef="i5d69f3a426294011a0c91acb9425c994_I20200331" format="ixt-sec:durmonth" name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RleHRyZWdpb246YWFjM2M1ZWRmYTUwNGE5OGFhMDdkNTNlNDEyN2FjZDNfNjg2_9af4ee31-70dc-4c41-aee9-0980d2d86cda">12</ix:nonNumeric> months and the remainder thereafter.</span></div></ix:continuation><div id="idedd8d3e0b164448a7aeb348636ed2a9_79"></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(15)&#160;<ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83OS9mcmFnOmExMDJhOTVmZjczMTQzYzk5YzFhMmE4ZTVjODY3MGRmL3RleHRyZWdpb246YTEwMmE5NWZmNzMxNDNjOTljMWEyYThlNWM4NjcwZGZfMjE5_2d29c9a2-5acc-49db-b778-6bac875908fa" continuedAt="iccdbabeebeb94fb6ba973612151eb2e7" escape="true">Commitments and Contingencies</ix:nonNumeric></span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"><ix:continuation id="iccdbabeebeb94fb6ba973612151eb2e7">Other than routine litigation incidental to our business, there are <ix:nonFraction unitRef="legalmatter" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="INF" format="ixt-sec:numwordsen" name="tyl:NumberOfLegalProceedingsThatHaveMaterialEffect" scale="0" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83OS9mcmFnOmExMDJhOTVmZjczMTQzYzk5YzFhMmE4ZTVjODY3MGRmL3RleHRyZWdpb246YTEwMmE5NWZmNzMxNDNjOTljMWEyYThlNWM4NjcwZGZfMTA5_a6825e35-b05a-4004-96d8-5e92881b52e9">no</ix:nonFraction> material legal proceedings pending to which we are party or to which any of our properties are subject.</ix:continuation></span></div><div id="idedd8d3e0b164448a7aeb348636ed2a9_82"></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">(16) <ix:nonNumeric contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331" name="us-gaap:SubsequentEventsTextBlock" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV84Mi9mcmFnOmY1NjA0YjZlYjllZDQ2YjZhMTE4NzFlNjU3OGYxNmI2L3RleHRyZWdpb246ZjU2MDRiNmViOWVkNDZiNmExMTg3MWU2NTc4ZjE2YjZfNDk4_fe8d3bb2-1082-46a2-a8f0-d8465b84dbab" continuedAt="id05dabff8f264c379dd91665f234c2db" escape="true">Subsequent Events</ix:nonNumeric></span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"><ix:continuation id="id05dabff8f264c379dd91665f234c2db"> There have been no material events and transactions that occurred subsequent to March&#160;31, 2020.</ix:continuation> </span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">17</span></div></div></div><hr style="page-break-after:always"/><div id="idedd8d3e0b164448a7aeb348636ed2a9_85"></div><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">ITEM&#160;2. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">CAUTIONARY NOTE CONCERNING FORWARD-LOOKING STATEMENTS</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">This document contains &#8220;forward-looking statements&#8221; within the meaning of Section 27A of the Securities Act of 1933 and Section 21E of the Securities Exchange Act of 1934 that are not historical in nature and typically address future or anticipated events, trends, expectations or beliefs with respect to our financial condition, results of operations or business. Forward-looking statements often contain words such as &#8220;believes,&#8221; &#8220;expects,&#8221; &#8220;anticipates,&#8221; &#8220;foresees,&#8221; &#8220;forecasts,&#8221; &#8220;estimates,&#8221; &#8220;plans,&#8221; &#8220;intends,&#8221; &#8220;continues,&#8221; &#8220;may,&#8221; &#8220;will,&#8221; &#8220;should,&#8221; &#8220;projects,&#8221; &#8220;might,&#8221; &#8220;could&#8221; or other similar words or phrases. Similarly, statements that describe our business strategy, outlook, objectives, plans, intentions or goals also are forward-looking statements. We believe there is a reasonable basis for our forward-looking statements, but they are inherently subject to risks and uncertainties and actual results could differ materially from the expectations and beliefs reflected in the forward-looking statements. We presently consider the following to be among the important factors that could cause actual results to differ materially from our expectations and beliefs: (1) the effects of the COVID-19 pandemic, including its potential effects on the economic environment, our customers and our operations, as well as any changes to federal, state or local government laws, regulations or orders in connection with the pandemic; (2) changes in the budgets or regulatory environments of our clients, primarily local and state governments, that could negatively impact information technology spending; (3) our ability to protect client information from security breaches and provide uninterrupted operations of data centers; (4) our ability to achieve growth or operational synergies through the integration of acquired businesses, while avoiding unanticipated costs and disruptions to existing operations; (5) material portions of our business require the Internet infrastructure to be adequately maintained; (6) our ability to achieve our financial forecasts due to various factors, including project delays by our clients, reductions in transaction size, fewer transactions, delays in delivery of new products or releases or a decline in our renewal rates for service agreements; (7) general economic, political and market conditions; (8) technological and market risks associated with the development of new products or services or of new versions of existing or acquired products or services; (9) competition in the industry in which we conduct business and the impact of competition on pricing, client retention and pressure for new products or services; (10) the ability to attract and retain qualified personnel and dealing with the loss or retirement of key members of management or other key personnel; and (11) costs of compliance and any failure to comply with government and stock exchange regulations. A detailed discussion of these factors and other risks that affect our business are described in Item 1A, &#8220;Risk Factors.&#8221; We expressly disclaim any obligation to publicly update or revise our forward-looking statements.</span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">GENERAL</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We provide integrated information management solutions and services for the public sector, with a focus on local governments. We develop and market a broad line of software products and services to address the IT needs of public sector entities. In addition, we provide professional IT services to our clients, including software and hardware installation, data conversion, training, and for certain clients, product modifications, along with continuing maintenance and support for clients using our systems. We also provide subscription-based services such as software as a service (&#8220;SaaS&#8221;), which primarily utilize the Tyler private cloud, and electronic document filing solutions (&#8220;e-filing&#8221;), which simplify the filing and management of court related documents. Revenues for e-filing are derived from transaction fees and, in some cases, fixed fee arrangements. Other transaction-based fees primarily relate to online payment services. We also provide property appraisal outsourcing services for taxing jurisdictions.</span></div><div style="margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Our products generally automate seven major functional areas: (1)&#160;financial management and education, (2)&#160;courts and justice,&#160;(3) public safety (4)&#160;property appraisal and tax, (5) planning, regulatory and maintenance (6) land and vital records management, (7) data and insights and (8) case management and business process management.&#160;We report our results in two segments. The Enterprise Software (&#8220;ES&#8221;) segment provides public sector entities with software systems and services to meet their information technology and automation needs for mission-critical &#8220;back-office&#8221; functions such as: financial management; courts and justice processes; public safety; planning, regulatory and maintenance; and data analytics. The Appraisal and Tax (&#8220;A&amp;T&#8221;) segment provides systems and software that automate the appraisal and assessment of real and personal property, land and vital records management as well as property appraisal outsourcing services for local governments and taxing authorities. Property appraisal outsourcing services include: the physical inspection of commercial and residential properties; data collection and processing; computer analysis for property valuation; preparation of tax rolls; community education; and arbitration between taxpayers and the assessing jurisdiction.</span></div><div style="margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of January 1, 2020, the land and vital records management business unit, which was previously reported in the ES segment, was moved to the A&amp;T segment. These changes were made to reflect changes in the way in which management makes operating decisions, allocates resources, and manages the growth and profitability of the Company. Prior year amounts for the ES and A&amp;T segments have been adjusted to reflect the segment change.</span></div><div style="margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Our total employee count increased to 5,449 at March&#160;31, 2020, from 5,053 at March&#160;31, 2019. </span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">18</span></div></div></div><hr style="page-break-after:always"/><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">For the three months ended March&#160;31, 2020, total revenues increased 11.9% compared to the prior year period.&#160;</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Subscriptions revenue grew 21.5% for the three months ended March&#160;31, 2020, due to an ongoing shift toward cloud-based, software as a service business, as well as continued growth in our e-filing revenues from courts. Excluding the impact of recent acquisitions, subscriptions revenue increased 18.3% for the three months ended March&#160;31, 2020. </span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Our backlog at March&#160;31, 2020, was $1.50 billion, a 19.2% increase from last year. </span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Impact of the COVID-19 Pandemic</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">In March 2020, the World Health Organization declared the outbreak of COVID -19 a pandemic, which continues to spread throughout the U.S. and the world and has resulted in authorities implementing numerous measures to contain the virus, including travel bans and restrictions, quarantines, shelter-in-place orders, and business limitations and shutdowns. </span><span style="background-color:rgb(255,255,255, 0.0);color:#212529;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">While we </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">are unable to accurately predict the full impact that COVID-19 will have on our results from operations, financial condition, liquidity and cash flows due to numerous uncertainties, including the duration and severity of the pandemic and containment measures and associated compliance, we do expect the current environment will negatively impact our revenues and other financial results for fiscal 2020. However, for the first quarter of 2020, we did not experience a material negative impact on our financial results associated with the pandemic.</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Because an increasing portion of our revenues are recurring, the effect of COVID-19 on our results of operations may also not be fully reflected for some time. We expect to see some impact on our business in the near term, with possible delays in government procurement processes and delays in implementations caused by travel restrictions, closed offices, or clients shifting focus to more pressing issues. We are working to address those challenges through adapting the way we do business &#8211; encouraging web and video conferencing, conducting sales demonstrations and delivering professional services remotely.</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Our priorities during this crisis are protecting the health and safety of our employees and our clients. Our IT systems and applications support a remote workforce. Prior to the pandemic, many of our employees worked remotely. </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%;"> </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">In response to the pandemic, we encouraged all employees who are able to do so to work from home, equipping them with resources necessary to continue uninterrupted. We were able to transition the vast majority of our employees to this work-from-home posture. This reduces the number of team members in our offices to those uniquely needed for essential on-site services, such as network operations support staff, and allows for &#8220;social distancing&#8221; as directed by the Centers for Disease Control ("CDC").</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The pandemic has delayed some government procurement processes and is expected to impact our ability to complete certain implementations, negatively impacting our revenue. It could also negatively impact the timing of client payments to us.</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%;"> </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We continue to monitor these trends in order to respond to the ever-changing impact of COVID-19 on our clients and Tyler&#8217;s operations.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Recurring revenues, from subscriptions and maintenance revenues, for the three months ended March 31, 2020, comprise 71% of our total consolidated revenue, and include newer transaction-based revenue streams such as e-filing and online payments. As of March&#160;31, 2020, we had $392.6 million in cash and investments and no outstanding borrowings under our credit facility. We also have substantial additional liquidity available through our undrawn $400.0 million credit facility, which can be expanded through an accordion feature. For the first quarter of 2020, the negative impact of the COVID-19 pandemic was not material to our operating results. No asset impairments were recorded as of the balance sheet date as no triggering events or changes in circumstances had occurred as of period-end to require such an impairment; however, due to significant uncertainty surrounding the situation, management&#8217;s judgment regarding this could change in the future.</span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">CRITICAL ACCOUNTING POLICIES AND ESTIMATES</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The discussion and analysis of our financial condition and results of operations are based upon our condensed consolidated financial statements. These condensed consolidated financial statements have been prepared following the requirements of accounting principles generally accepted in the United States (&#8220;GAAP&#8221;) for the interim period and require us to make estimates and judgments that affect the reported amounts of assets, liabilities, revenues and expenses, and related disclosure of contingent assets and liabilities. On an ongoing basis, we evaluate our estimates, including those related to revenue recognition and amortization and potential impairment of intangible assets and goodwill and share-based compensation expense. As these are condensed financial statements, one should also read expanded information about our critical accounting policies and estimates provided in Item&#160;7, &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations,&#8221; included in our Form 10-K for the year ended December&#160;31, 2019. Except for the accounting policies for credit losses updated as a result of adopting ASU No. 2016-13 -</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"> Financial Instruments - Credit losses</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">, there have been no material changes to our critical accounting policies and estimates from the information provided in our Form 10-K for the year ended December&#160;31, 2019.</span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">19</span></div></div></div><hr style="page-break-after:always"/><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">ANALYSIS OF RESULTS OF OPERATIONS</span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:64.912%;"><tr><td style="width:1.0%;"></td><td style="width:60.387%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.926%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:15.117%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.926%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:16.244%;"></td><td style="width:1.0%;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Percent of Total Revenues</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Revenues:</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses and royalties</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6.8&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8.8&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Subscriptions</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">29.5&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">27.2&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18.8&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">19.6&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Maintenance</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">41.4&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">40.6&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2.1&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2.1&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1.4&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1.7&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:24.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">100.0&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">100.0&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cost of revenues:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses, royalties and acquired software</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3.2&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3.0&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services, maintenance and subscriptions</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">47.7&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">47.4&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1.6&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1.4&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">0.9&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1.2&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Selling, general and administrative expenses</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">24.4&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">23.4&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Research and development expense</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8.1&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7.7&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amortization of customer and trade name intangibles</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1.9&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2.0&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating income</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12.2&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">13.9&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other income, net</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">0.4&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">0.2&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Income before income taxes</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12.6&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14.1&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Income tax (benefit) provision</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4.6)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3.1&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net income</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">17.2&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">11.0&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr></table></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration: underline;">Revenues</span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">On February 28, 2019, we acquired all of the capital stock of MP Holdings Parent, Inc. dba MicroPact ("MicroPact"), a leading provider of commercial off-the-shelf solutions, including entellitrak&#174;, a low-code application development platform for case management and business process management used extensively in the public sector. The following table details revenue for MicroPact for the quarter ended March&#160;31, 2020 and 2019, respectively, which is included in our condensed consolidated statements of income from the date of acquisition:</span></div><div style="margin-top:12pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:85.964%;"><tr><td style="width:1.0%;"></td><td style="width:53.272%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.990%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:19.088%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:1.160%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:19.090%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"></span></span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Revenues:</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;Software licenses and royalties</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,410&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"></span></span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">714&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;Subscriptions</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,488&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"></span></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">630&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;Software services</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,145&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"></span></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,707&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;Maintenance</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">9,645&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"></span></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,392&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;Appraisal services</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"></span></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;Hardware and other</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"></span></span></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">13&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Total revenues</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18,706&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,456&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000;border-bottom:3pt double #000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">20</span></div></div></div><hr style="page-break-after:always"/><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Software licenses and royalties</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table sets forth a comparison of our software licenses and royalties revenue for the periods presented as of March 31: </span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:80.701%;"><tr><td style="width:1.0%;"></td><td style="width:46.369%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.705%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:11.586%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.524%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.862%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.705%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:8.869%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.705%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:8.875%;"></td><td style="width:1.0%;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Change</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"></span></span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">ES</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">15,951&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18,522&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(2,571)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(14)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">A&amp;T</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,786&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,271&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(485)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(15)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total software licenses and royalties revenue</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18,737&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21,793&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3,056)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(14)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr></table></div><div><span><br/></span></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Software licenses and royalties revenue decreased 14% for the three months ended March&#160;31, 2020, compared to the prior year period. The decline in software licenses and royalties revenue for the three months ended March 31, 2020, is primarily attributed to a shift in the mix of new software contracts toward more subscription agreements compared to the prior year. Our total new contract value mix for the three months ended March&#160;31, 2020, was approximately 27% perpetual software license arrangements and approximately 73% subscription-based arrangements compared to total new contract value mix for the three months ended March&#160;31, 2019, of approximately 46% perpetual software license arrangements and approximately 54% subscription-based arrangements. </span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Although the mix of new contracts between subscription-based and perpetual license arrangements may vary from quarter to quarter and year to year, we expect our longer-term software license growth rate to slow as a growing number of clients choose our subscription-based options, rather than purchasing the software under a traditional perpetual software license arrangement. Subscription-based arrangements generally do not result in license revenue in the initial year as compared to perpetual software license arrangements but generate higher overall revenue over the term of the contract.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Subscriptions</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table sets forth a comparison of our subscriptions revenue for the periods presented as of March 31:</span></div><div style="margin-top:6pt;"><span><br/></span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:83.040%;"><tr><td style="width:1.0%;"></td><td style="width:44.654%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.680%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:11.204%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.680%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:11.204%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.680%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:11.204%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.504%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:8.390%;"></td><td style="width:1.0%;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Change</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"></span></span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">ES</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">76,644&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">63,255&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">13,389&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">A&amp;T</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,079&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,020&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,059&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">26&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total subscriptions revenue</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">81,723&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">67,275&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,448&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr></table></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Subscriptions revenue primarily consists of revenue derived from our SaaS arrangements, which generally utilize the Tyler private cloud. As part of our subscription-based services, we also provide e-filing arrangements that simplify the filing and management of court related documents for courts and law offices. E-filing revenue is derived from transaction fees and fixed fee arrangements.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Subscriptions revenue grew 21% for the three months ending March&#160;31, 2020, compared to the prior year. New SaaS clients as well as existing clients who converted to our SaaS model provided the majority of the subscriptions revenue increase. In the three months ending March&#160;31, 2020, we added 131 new SaaS clients and 19 existing on-premises clients converted to our SaaS model. Since March&#160;31, 2019, we have added 599 new SaaS clients while 84 existing on-premises clients converted to our SaaS model. Also, e-filing services and transaction-based fees from online payments contributed approximately $2.8 million to the subscriptions revenue increase for the three months ended March&#160;31, 2020 due to the addition of new e-filing clients, as well as increased volumes of online payments from utility billings. </span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">21</span></div></div></div><hr style="page-break-after:always"/><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Software services </span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table sets forth a comparison of our software services revenue for the periods presented as of March 31:</span></div><div style="margin-top:6pt;"><span><br/></span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:80.116%;"><tr><td style="width:1.0%;"></td><td style="width:46.722%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.712%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.773%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.529%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.773%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.529%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.773%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.712%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:7.677%;"></td><td style="width:1.0%;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Change</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"></span></span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">ES</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">44,949&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">40,456&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,493&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">11&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">A&amp;T</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7,184&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7,987&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(803)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(10)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total software services revenue</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">52,133&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">48,443&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,690&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr></table></div><div style="margin-top:15pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Software services revenue primarily consists of professional services delivered in connection with implementing our software, converting client data, training client personnel, custom development activities and consulting. New clients who acquire our software generally also contract with us to provide the related software services. Existing clients also periodically purchase additional training, consulting and minor programming services. Software services revenue increased 8% for the three months ended March&#160;31, 2020, compared to the prior year period. For the three months ended, the increase is due to higher new contract volume and the addition of professional services staff to grow our capacity to deliver backlog, partially offset by clients converting from on-premises license arrangements to SaaS and some delays caused by the disruptions related to COVID-19. Our implementation and support staff has grown by 290 employees since March&#160;31, 2019.</span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Maintenance</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table sets forth a comparison of our maintenance revenue for the periods presented as of March 31:</span></div><div style="text-align:center;margin-top:12pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:80.555%;"><tr><td style="width:1.0%;"></td><td style="width:46.457%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.707%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:11.611%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.525%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:11.611%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.525%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:8.707%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.525%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:8.532%;"></td><td style="width:1.0%;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Change</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"></span></span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">ES</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">104,841&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">91,188&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">13,653&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">15&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">A&amp;T</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">9,524&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8,964&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">560&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total maintenance revenue</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">114,365&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">100,152&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,213&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr></table></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We provide maintenance and support services for our software products and certain third-party software. Maintenance revenue grew 14% for the three months ended March&#160;31, 2020, compared to the prior year period. Maintenance revenue increased mainly due to contributions of maintenance revenue from recent acquisitions of $6.7&#160;million. The remainder of the increase is attributed to annual maintenance rate increases and growth in our installed customer base from new software license sales partially offset by clients converting from on-premises license arrangements to SaaS.</span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Appraisal services </span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table sets forth a comparison of our appraisal services revenue for the periods presented as of March 31:</span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:75.584%;"><tr><td style="width:1.0%;"></td><td style="width:49.644%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.767%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:9.411%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.573%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:9.218%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.573%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:9.218%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.573%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:9.223%;"></td><td style="width:1.0%;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Change</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"></span></span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">ES</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">A&amp;T</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,763&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,214&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">549&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">11&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total appraisal services revenue</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,763&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,214&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">549&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">11&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr></table></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Appraisal services revenue for the three months ended March&#160;31, 2020, increased by 11%, compared to the prior year primarily due to the addition of several new revaluation contracts started during the fourth quarter of 2019, offset somewhat by delays to several ongoing projects as a result of shelter-in-place orders and social distancing restrictions related to COVID-19. The appraisal services business is somewhat cyclical and driven in part by statutory revaluation cycles in various states.</span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">22</span></div></div></div><hr style="page-break-after:always"/><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#160;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration: underline;">Cost of Revenues and Gross Margins</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table sets forth a comparison of the key components of our cost of revenues for the periods presented as of    March 31:</span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:84.649%;"><tr><td style="width:1.0%;"></td><td style="width:48.949%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.663%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.953%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.663%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.953%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.663%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:10.953%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.663%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:4.740%;"></td><td style="width:1.0%;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Change</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"></span></span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses and royalties</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">740&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">818&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(78)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(10)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Acquired software</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8,027&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,682&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,345&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">20&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services, maintenance and subscriptions</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">131,779&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">117,160&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,619&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,385&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,452&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">933&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">27&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,479&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,906&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(427)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(15)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total cost of revenues</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">147,410&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">131,018&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">16,392&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">13&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr></table></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table sets forth a comparison of gross margin percentage by revenue type for the periods presented as of March 31:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:70.029%;"><tr><td style="width:1.0%;"></td><td style="width:59.586%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.843%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:9.691%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.635%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:9.691%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:1.261%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:9.693%;"></td><td style="width:1.0%;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="15" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Change</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses, royalties and acquired software</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">53.2&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">65.6&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(12.4)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services, maintenance and subscriptions</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">46.9&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">45.7&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1.2&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">23.9&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">33.8&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(9.9)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">35.1&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">30.6&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4.5&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Overall gross margin</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">46.7&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">47.0&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(0.3)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr></table></div><div style="margin-top:15pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Software licenses, royalties and acquired software. </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Amortization expense for acquired software comprises the majority of costs of software licenses, royalties and acquired software. We do not have any direct costs associated with royalties. In the three months ended March&#160;31, 2020, our software licenses, royalties and acquired software gross margin decreased 12.4% compared to the prior year period due to lower revenue from software licenses and increased amortization expense for acquired software resulting from acquisitions. </span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Software services, maintenance and subscriptions. </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Cost of software services, maintenance and subscriptions primarily consists of personnel costs related to installation of our software, conversion of client data, training client personnel and support activities and various other services such as custom client development and ongoing operation of SaaS and e-filing arrangements. The software services, maintenance and subscription gross margin in the three months ended March&#160;31, 2020, increased 1.2% from the comparable prior year period. Our implementation and support staff has grown by 290 employees since March&#160;31, 2019, as we accelerated hiring to ensure that we are well-positioned to deliver our current backlog and anticipated new business. Costs related to maintenance and various other services such as SaaS and e-filing typically grow at a slower rate than related revenue due to leverage in the utilization of support and maintenance staff and economies of scale.&#160;</span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Appraisal services. </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Appraisal services revenue was approximately 2.1% of total revenue for the three months ended March&#160;31, 2020. The appraisal services gross margin for the three months ended March&#160;31, 2020, decreased 9.9% compared to the same period in 2019. During the three months ended March&#160;31, 2020, appraisal services gross margin decreased due to staffing increases resulting from new revaluation projects, as well as lower staff utilization in March 2020 as a result of COVID-19 shelter-in place orders. The appraisal services business is somewhat cyclical and driven in part by statutory revaluation cycles in various states.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">For the three months ended March&#160;31, 2020, our overall gross margin decreased 0.3% compared to the prior year period. The decrease in overall margins is attributed to lower margins from software licenses due to lower software license revenue and higher amortization expense for acquired software resulting from acquisitions as well as staffing increases attributed to appraisal services. The decrease in overall gross margin is offset by a higher revenue mix for subscription revenues compared to the prior year period resulting in an increase in incremental margin related to software services, maintenance and subscriptions. Costs related to maintenance and various other services such as SaaS and e-filing typically grow at a slower rate than related revenue due to leverage in the utilization of support and maintenance staff and economies of scale.&#160;</span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">23</span></div></div></div><hr style="page-break-after:always"/><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration: underline;">Selling, General and Administrative Expenses</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Selling, general and administrative (&#8220;SG&amp;A&#8221;) expenses consist primarily of salaries, employee benefits, travel, share-based compensation expense, commissions and related overhead costs for administrative and sales and marketing employees, as well as professional fees, trade show activities, advertising costs and other marketing related costs.</span></div><div style="margin-top:6pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table sets forth a comparison of our SG&amp;A expenses for the periods presented as of March 31:</span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:78.654%;"><tr><td style="width:1.0%;"></td><td style="width:47.628%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.729%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:11.940%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.729%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:11.940%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.729%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:9.710%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.729%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:5.066%;"></td><td style="width:1.0%;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Change</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"></span></span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Selling, general and administrative expenses</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">67,485&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">57,766&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">9,719&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">17&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr></table></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">SG&amp;A as a percentage of revenues was 24% for the three months ended March&#160;31, 2020, compared to 23%  for the three months ended March&#160;31, 2019. SG&amp;A expense increased 17% for the three months ended March&#160;31, 2020. This increase is mainly due to higher share-based compensation expense, increased staffing levels, and an increase in commission expense as a result of higher sales. We have added 72&#160;SG&amp;A employees, mainly to our sales and finance teams, since&#160;March&#160;31, 2019. For the three months ended March&#160;31, 2020, stock compensation expense rose $2.4 million compared to the same period in 2019, mainly due to an increase in share-based awards issued in connection with our stock compensation plan coupled with the higher fair value of each share-based award due to the increase in our stock price.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration: underline;">Research and Development Expense</span></div><div style="margin-top:6pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table sets forth a comparison of our research and development expense for the periods presented as of March 31:</span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:79.385%;"><tr><td style="width:1.0%;"></td><td style="width:47.171%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.720%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:11.812%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.720%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:11.812%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.720%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:7.760%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.720%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:7.765%;"></td><td style="width:1.0%;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Change</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"></span></span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Research and development expense</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">22,361&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18,941&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,420&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr></table></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Research and development expense consists mainly of costs associated with development of new products and technologies from which we do not currently generate significant revenue.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Research and development expense in the three months ended March&#160;31, 2020, increased 18% compared to the prior period mainly due to a number of new Tyler product development initiatives across our product suites, as well as investments related to recently acquired businesses. To support these initiatives, our research and development staff has grown by 65 since March&#160;31, 2019. </span></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration: underline;">Amortization of Other Intangibles</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Acquisition intangibles are comprised of the excess of the purchase price over the fair value of net tangible assets acquired that is primarily allocated to acquired software and customer and trade name intangibles. The remaining excess purchase price is allocated to goodwill that is not subject to amortization. Amortization expense related to acquired software is included with cost of revenues while amortization expense of customer and trade name intangibles is recorded as operating expense. The increase in amortization of other intangibles is primarily attributed to the recent acquisitions closed in 2019.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table sets forth a comparison of amortization of customer and trade name intangibles for the periods presented as of March 31:</span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:82.602%;"><tr><td style="width:1.0%;"></td><td style="width:45.256%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.684%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:11.274%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.684%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:11.274%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.684%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:11.274%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.684%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:7.386%;"></td><td style="width:1.0%;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Change</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"></span></span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amortization of other intangibles</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,392&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,850&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">542&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">11&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr></table></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#160;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration: underline;">Other Income, Net</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table sets forth a comparison of our other income, net, for the periods presented as of March 31:</span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:81.578%;"><tr><td style="width:1.0%;"></td><td style="width:45.849%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.696%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:11.082%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.516%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:11.082%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.696%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:11.440%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.516%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:7.323%;"></td><td style="width:1.0%;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Change</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"></span></span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other income, net</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">990&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">586&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">404&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">69&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr></table></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">24</span></div></div></div><hr style="page-break-after:always"/><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Other income, net, is comprised of interest income from invested cash net of interest expense and non-usage and other fees associated with our revolving credit agreement. The increase in other income, net, in the three months ended March&#160;31, 2020, compared to the prior period is attributed to the increased interest income from higher levels of invested cash, offset somewhat by lower interest rates. </span></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;text-decoration: underline;">Income Tax Provision</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table sets forth a comparison of our income tax provision for the periods presented as of March 31:</span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:82.017%;"><tr><td style="width:1.0%;"></td><td style="width:45.593%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.691%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:12.973%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.691%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:11.368%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.691%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:11.368%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.513%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:5.312%;"></td><td style="width:1.0%;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Change</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"></span></span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Income tax (benefit) provision</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(12,667)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7,729&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(20,396)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">NM</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Effective income tax rate</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(36.3)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">22.0&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td><td colspan="3" style="display:none;"></td></tr></table></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The change in effective tax rate for the three months ended March&#160;31, 2020, as compared to the same period in 2019, was principally driven by an increase in the excess tax benefits related to stock incentive awards. The effective income tax rates for the three months ended March&#160;31, 2020 and 2019, respectively, were different from the statutory United States federal income tax rate of 21% due to excess tax benefits related to stock incentive awards, state income taxes, non-deductible business expenses, and the tax benefit of research tax credits. The excess tax benefits related to stock incentive awards realized were $22.1 million for the three months ended March&#160;31, 2020, compared to $1.7 million for the three months ended March&#160;31, 2019. Excluding the excess tax benefits, the effective rate was 27.0% for the three months ended March&#160;31, 2020, compared to 26.8% for the three months ended March&#160;31, 2019.  </span></div><div style="margin-top:12pt;"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Coronavirus Aid, Relief and Economic Security ("CARES") Act, which was signed into law on March 27, 2020, provides an estimated $2.2 trillion to fight the COVID-19 pandemic and stimulate the US economy. The assistance includes tax relief and government loans, and investments and grants for entities in affected industries (e.g., health care, airlines). </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The business tax provisions of the Act include temporary changes to income and non-income based tax laws, including the ability to utilize net operating losses, interest expense deductions, alternative minimum tax credit refunds, charitable contributions, and depreciation of qualified improvement property.  Measures not related to income-based taxes include (1) allowing an employer to pay its share of Social Security payroll taxes that would otherwise be due from the date of enactment through December 31, 2020, over the following two years and (2) allowing eligible employers subject to closure due to the COVID-19 pandemic to receive a 50% credit on qualified wages against their employment taxes each quarter, with any excess credits eligible for refunds. We evaluated the CARES Act provisions and the enactment resulted in no income tax adjustments. We do not believe that the income tax implications will be significant to our overall income tax liability. </span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">FINANCIAL CONDITION AND LIQUIDITY</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of March&#160;31, 2020, we had cash and cash equivalents of $302.0 million compared to $232.7 million at December&#160;31, 2019. We also had $90.6 million invested in investment grade corporate and municipal bonds as of March&#160;31, 2020. These investments mature ranging through 2023, and we intend to hold these investments until maturity. As of March&#160;31, 2020, we believe our cash from operating activities, revolving line of credit, cash on hand and access to the capital markets provides us with sufficient flexibility to meet our long-term financial needs.</span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table sets forth a summary of cash flows for the three months ended March 31:</span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:77.777%;"><tr><td style="width:1.0%;"></td><td style="width:58.338%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.739%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:16.796%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.739%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:16.988%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"></span></span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cash flows provided (used) by:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating activities</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">56,706&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">23,957&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Investing activities</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(15,007)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(194,890)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Financing activities</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">27,604&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">76,091&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net increase (decrease) in cash and cash equivalents</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">69,303&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(94,842)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Net cash provided by operating activities continues to be our primary source of funds to finance operating needs and capital expenditures. Other potential capital resources include cash on hand, public and private issuances of debt or equity securities, and bank borrowings. It is possible that our ability to access the capital and credit markets in the future may be limited by economic conditions or other factors. We believe that cash provided by operating activities, cash on hand and available credit are sufficient to fund our working capital requirements, capital expenditures, income tax obligations, and share repurchases for at least the next twelve months.</span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">25</span></div></div></div><hr style="page-break-after:always"/><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">For the three months ended March&#160;31, 2020, operating activities provided cash of $56.7 million. Operating activities that provided cash were primarily comprised of net income of $47.6 million, non-cash depreciation and amortization charges of $20.0 million, non-cash share-based compensation expense of $17.3 million and a non-cash decrease in operating lease right-of-use assets of $1.5 million. Working capital, excluding cash, increased approximately $29.6 million mainly due to the decline in deferred revenue balances, the timing of payments related to bonuses and prepaid commissions, and the deferred taxes associated with stock option activity during the period. These increases were offset by collections of annual maintenance renewals and subscription renewal billings that are billed in the fourth quarter.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Our days sales outstanding (&#8220;DSO&#8221;) was 104 days at March&#160;31, 2020, compared to 117 days at December&#160;31, 2019 and 104 days at March&#160;31, 2019. The decrease in DSO compared to December&#160;31, 2019, is primarily attributed to our maintenance billing cycle typically peaking at its highest level in June and second highest level in December of each year and is followed by collections in the subsequent quarter. DSO is calculated based on quarter-end accounts receivable divided by the quotient of annualized quarterly revenues divided by 360 days.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Investing activities used cash of $15.0 million in the three months ending March&#160;31, 2020. Approximately $9.3 million was invested in property and equipment, including $4.8 million related to real estate. In addition, approximately $1.3 million of software development was capitalized in the quarter. Proceeds of  $15 million for the sale of the investment in convertible preferred stock representing a 20% interest in Record Holdings to BFTR, LLC, a wholly owned subsidiary of Bison Capital Partners V.L.P. During the same period, we purchased $10 million in common stock representing a 18% interest in BFTR, LLC. The remaining additions were for computer equipment and furniture and fixtures in support of internal growth, particularly with respect to data centers supporting growth in our cloud-based offerings.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Investing activities used cash of $194.9 million in the three months ending March&#160;31, 2019. On February 28, 2019, we acquired all of the capital stock of MicroPact. The total purchase price, net of cash acquired of $2.0 million, was approximately $204.2 million, including $197.5 million paid in cash, accrued contingent consideration of $7.0 million and $1.7 million accrued for certain holdbacks. On February 1, 2019, we acquired all the assets of MyCivic. The purchase price was $3.7 million of which $3.6 million was paid in cash and approximately $90,000 was accrued for a working capital holdback. Approximately $12.3 million was invested in property and equipment, including $8.7 million related to real estate. Approximately $690,000 of software development was capitalized in the quarter. The remaining additions were for computer equipment and furniture and fixtures in support of internal growth, particularly with respect to data centers supporting growth in our cloud-based offerings.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Financing activities provided cash of $27.6 million in the three months ended March&#160;31, 2020, and were comprised of proceeds from stock option exercises and employee stock purchase plan activity. We paid $5.6 million in contingent consideration resulting from the MicroPact acquisition. During the three months ended March&#160;31, 2020, we repurchased&#160;approximately 59,000&#160;shares of our common stock for an aggregate purchase price of&#160;$15.5 million, with an average price per share of $263.28.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Financing activities provided cash of $76.1 million in the three months ended March&#160;31, 2019,&#160;and were comprised of purchases of treasury shares, net borrowings from our revolving line of credit, proceeds from stock option exercises and employee stock purchase plan activity. During the three months ended March&#160;31, 2019, we repurchased&#160;approximately 72,000&#160;shares of our common stock for an aggregate purchase price of&#160;$14.3 million, with an average price per share of $199.03.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">In February 2019, our board of directors authorized the repurchase of an additional 1.5 million shares of Tyler common stock. The repurchase program, which was approved by our board of directors, was originally announced in October 2002 and was amended at various times from 2003 through 2019.&#160;As of March&#160;31, 2020, we have authorization from our board of directors to repurchase up to 2.6 million additional shares of Tyler common stock. Our share repurchase program allows us to repurchase shares at our discretion. Market conditions influence the timing of the buybacks and the number of shares repurchased, as well as the volume of employee stock option exercises. Share repurchases are generally funded using our existing cash balances and borrowings under our credit facility and may occur through open market purchases and transactions structured through investment banking institutions, privately negotiated transactions and/or other mechanisms. There is no expiration date specified for the authorization, and we intend to repurchase stock under the plan from time to time.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We made tax payments of $176,000 and $88,000 in the three months ended March 31, 2020, and 2019, respectively.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">On September 30, 2019, we entered into a $400 million credit agreement with various lender parties and Wells Fargo Bank, National Association, as Administrative Agent (the &#8220;Credit Facility&#8221;). The Credit Facility provides for a revolving credit line up to $400 million, including a $25 million sublimit for letters of credit. The Credit Facility matures on September&#160;30, 2024.</span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">26</span></div></div></div><hr style="page-break-after:always"/><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We anticipate that 2020 capital spending will be between $36 million and $38 million, including approximately $9 million related to real estate and approximately $7 million of capitalized software development. We expect the majority of the other capital spending will consist of computer equipment and software for infrastructure replacements and expansion. Capital spending is expected to be funded from existing cash balances and cash flows from operations.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">From time to time we engage in discussions with potential acquisition candidates. In order to pursue such opportunities, which could require significant commitments of capital, we may be required to incur debt or to issue additional potentially dilutive securities in the future. No assurance can be given as to our future acquisition opportunities and how such opportunities will be financed. </span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We lease office facilities, as well as transportation and other equipment used in our operations under non-cancelable operating lease agreements expiring at various dates through&#160;2028.</span></div><div id="idedd8d3e0b164448a7aeb348636ed2a9_88"></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">ITEM&#160;3. Quantitative and Qualitative Disclosures About Market Risk</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Market risk represents the risk of loss that may affect us due to adverse changes in financial market prices and interest rates.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of March&#160;31, 2020, we had no outstanding borrowings under our Credit Facility and available borrowing capacity under the Credit Agreement was $400.0 million.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Borrowings under the Credit Facility bear interest at a rate of either (1) Wells Fargo Bank&#8217;s prime rate (subject to certain higher rate determinations) plus a margin of 0.125% to 0.75% or (2) the one-, two-, three-, or six-month LIBOR rate plus a margin of 1.125% to 1.75%.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">During the three months ended March&#160;31, 2020, our effective average interest rate for borrowings was 3.83%. As of March&#160;31, 2020, our interest rate was 3.38% under the Wells Fargo Bank prime rate and approximately 2.12% under the 30-day LIBOR option. </span></div><div id="idedd8d3e0b164448a7aeb348636ed2a9_91"></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">ITEM&#160;4. Controls and Procedures</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Evaluation of Disclosure Controls and Procedures</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We maintain disclosure controls and procedures (as defined in Rule 13a-15(e) of the Securities Exchange Act) designed to provide reasonable assurance that the information required to be disclosed by us in the reports we file or submit under the Exchange Act is recorded, processed, summarized and reported within the time period specified in the SEC&#8217;s rules and forms. These include controls and procedures designed to ensure that this information is accumulated and communicated to our management, including our Chief Executive Officer and Chief Financial Officer, as appropriate to allow timely decisions regarding required disclosures. Management, with the participation of the Chief Executive Officer and Chief Financial Officer, evaluated the effectiveness of our disclosure controls and procedures as of the end of the period covered by this report. Based on this evaluation, the Chief Executive Officer and Chief Financial Officer have concluded that our disclosure controls and procedures were effective as of March&#160;31, 2020.</span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Changes in Internal Control over Financial Reporting</span></div><div style="margin-top:9pt;margin-bottom:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">There were no changes in our internal control over financial reporting (as defined in Rule 13a-15(f) of the Exchange Act) during the three months ended March 31, 2020, that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting. </span></div><div id="idedd8d3e0b164448a7aeb348636ed2a9_94"></div><div style="margin-top:18pt;-sec-extract:summary;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;">Part II. OTHER INFORMATION</span></div><div id="idedd8d3e0b164448a7aeb348636ed2a9_97"></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">ITEM&#160;1. Legal Proceedings</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Other than routine litigation incidental to our business, there are no material legal proceedings pending to which we are party or to which any of our properties are subject.</span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">27</span></div></div></div><hr style="page-break-after:always"/><div id="idedd8d3e0b164448a7aeb348636ed2a9_100"></div><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">ITEM&#160;1A. Risk Factors</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">In addition to the other information set forth in this report, one should carefully consider the discussion of various risks and uncertainties contained in Part I, &#8220;Item 1A. Risk Factors&#8221; in our 2019 Annual Report on Form 10-K. We believe those risk factors are the most relevant to our business and could cause our results to differ materially from the forward-looking statements made by us. Please note, however, that those are not the only risk factors facing us. Additional risks that we do not consider material, or of which we are not currently aware, may also have an adverse impact on us. Our business, financial condition and results of operations could be seriously harmed if any of these risks or uncertainties actually occurs or materializes. In that event, the market price for our common stock could decline, and our shareholders may lose all or part of their investment. During the three months ended March 31, 2020, except for the risk factors described below, there were no material changes in the information regarding risk factors contained in our Annual Report on Form 10-K for the year ended December&#160;31, 2019.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">COVID-19 will adversely affect our business and results of operations.</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We expect that the global emergence of COVID-19 (novel coronavirus) will negatively impact our business and financial results in fiscal year 2020. As the virus has spread, it has resulted in authorities implementing numerous measures to contain the virus, including travel bans and restrictions, quarantines, shelter-in-place orders, and business limitations and shutdowns. </span><span style="background-color:rgb(255,255,255, 0.0);color:#212529;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">While we are unable</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"> to accurately predict the full impact that COVID-19 will have on our results from operations, financial condition, liquidity and cash flows due to numerous uncertainties, including the duration and severity of the pandemic and containment measures and associated compliance, we do expect the pandemic will negatively impact our revenues and other financial results.</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We expect to see some impact on our business in the near term, with possible delays in government procurement processes and delays in implementations caused by travel restrictions, closed offices, or clients shifting focus to more pressing issues.</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We expect appraisal and software implementations projects delays as clients put projects on hold or slow projects by extending go-lives dates. While we have the ability to deliver most of our professional services remotely, some of our professional services, including appraisal assessments, are more effective when performed on-site, and certain clients insist on on-site services in any event. In addition, some professional services relate to training and require the availability of the client. We expect a negative impact on our software services revenue and appraisal services and respective margins throughout the fiscal year 2020. Also, we expect software licenses and subscriptions revenues to be negatively affected due to delays in procurement processes. Our clients who are negatively impacted by the virus may request changes to payment terms, negatively impacting the timing of collections of accounts receivables in future periods. For the three months ended March 31, 2020, <ix:nonFraction unitRef="number" contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331" decimals="2" name="tyl:RecurringRevenuePercentageOfTotalRevenue" scale="-2" id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMDAvZnJhZzozMDM1NjEyNGVkYzA0ZGMxYTBmNWE2YjhhMmJlNDc1ZC90ZXh0cmVnaW9uOjMwMzU2MTI0ZWRjMDRkYzFhMGY1YTZiOGEyYmU0NzVkXzU0OTc1NTgxNTkwMjQ_ff1fc1d1-297e-4dd7-8bae-bdc285d3a6b1">71</ix:nonFraction>% of our total revenue and earnings are relatively predictable as a result of our subscription and maintenance revenue, which is recurring in nature, and for most of first quarter 2020, our results were not materially impacted by COVID-19; thus, the effect of the COVID-19 pandemic will not be fully reflected in our results of operations and overall financial performance until future period</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%;">s.</span></div><div id="idedd8d3e0b164448a7aeb348636ed2a9_103"></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">ITEM&#160;2. Unregistered Sales of Equity Securities and Use of Proceeds</span></div><div style="text-indent:27pt;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">None</span></div><div id="idedd8d3e0b164448a7aeb348636ed2a9_106"></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">ITEM&#160;3. Defaults Upon Senior Securities</span></div><div style="text-indent:27pt;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">None</span></div><div id="idedd8d3e0b164448a7aeb348636ed2a9_109"></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">ITEM&#160;4. Submission of Matters to a Vote of Security Holders</span></div><div style="text-indent:27pt;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">None</span></div><div id="idedd8d3e0b164448a7aeb348636ed2a9_112"></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">ITEM&#160;5. Other Information</span></div><div style="text-indent:27pt;margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">None</span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">28</span></div></div></div><hr style="page-break-after:always"/><div id="idedd8d3e0b164448a7aeb348636ed2a9_115"></div><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="margin-top:18pt;-sec-extract:summary;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">ITEM&#160;6.                Exhibits</span></div><div style="margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:98.391%;"><tr><td style="width:1.0%;"></td><td style="width:12.858%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:2.771%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:80.171%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><div><span style="background-color:rgb(255,255,255, 0.0);color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration: underline;"><a style="background-color:rgb(255,255,255, 0.0);color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration: underline;-sec-extract:exhibit;" href="tyl3312020exhibit311.htm">Exhibit&#160;31.1</a></span></div></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><div><span style="background-color:rgb(255,255,255, 0.0);color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration: underline;"><a style="background-color:rgb(255,255,255, 0.0);color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration: underline;-sec-extract:exhibit;" href="tyl3312020exhibit311.htm">Certification Pursuant to Section&#160;302 of the Sarbanes-Oxley Act of 2002</a></span></div></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:middle;padding-left:1pt;padding-right:1pt;"><span style="font-size:6pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="6" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:middle;padding-left:1pt;padding-right:1pt;"><span style="font-size:6pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><div><span style="background-color:rgb(255,255,255, 0.0);color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration: underline;"><a style="background-color:rgb(255,255,255, 0.0);color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration: underline;-sec-extract:exhibit;" href="tyl3312020exhibit312.htm">Exhibit&#160;31.2</a></span></div></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><div><span style="background-color:rgb(255,255,255, 0.0);color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration: underline;"><a style="background-color:rgb(255,255,255, 0.0);color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration: underline;-sec-extract:exhibit;" href="tyl3312020exhibit312.htm">Certification Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</a></span></div></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:middle;padding-left:1pt;padding-right:1pt;"><span style="font-size:6pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="6" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:middle;padding-left:1pt;padding-right:1pt;"><span style="font-size:6pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><div><span style="background-color:rgb(255,255,255, 0.0);color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration: underline;"><a style="background-color:rgb(255,255,255, 0.0);color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration: underline;-sec-extract:exhibit;" href="tyl3312020exhibit321.htm">Exhibit 32.1</a></span></div></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><div style="margin-top:3pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;"><a style="background-color:rgb(255,255,255, 0.0);color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;-sec-extract:exhibit;" href="tyl3312020exhibit321.htm">Certifications Pursuant </a><a style="background-color:rgb(255,255,255, 0.0);color:#0000ff;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;-sec-extract:exhibit;" href="tyl3312020exhibit321.htm">Certifications Pursuant to 18 U.S.C. Section 1350, as adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</a></span></div></td></tr><tr><td colspan="3" style="height:9pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:9pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:9pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="height:9pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:9pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:9pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Exhibit 101.INS</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Inline XBRL Instance Document - the Instance Document does not appear in the interactive data file because its XBRL tags, including Cover Page XBRL tags, are embedded within the Inline XBRL Document.</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:middle;padding-left:1pt;padding-right:1pt;"><span style="font-size:6pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="6" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:middle;padding-left:1pt;padding-right:1pt;"><span style="font-size:6pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Exhibit 101.SCH</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Inline XBRL Taxonomy Extension Schema Document.</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:middle;padding-left:1pt;padding-right:1pt;"><span style="font-size:6pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="6" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:middle;padding-left:1pt;padding-right:1pt;"><span style="font-size:6pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Exhibit 101.CAL</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Inline XBRL Taxonomy Extension Calculation Linkbase Document.</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:middle;padding-left:1pt;padding-right:1pt;"><span style="font-size:6pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="6" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:middle;padding-left:1pt;padding-right:1pt;"><span style="font-size:6pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Exhibit 101.LAB</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Inline XBRL Extenstion Labels Linkbase Document.</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:middle;padding-left:1pt;padding-right:1pt;"><span style="font-size:6pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="6" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:middle;padding-left:1pt;padding-right:1pt;"><span style="font-size:6pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Exhibit 101.DEF</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Inline XBRL Taxonomy Extension Definition Linkbase Document.</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:middle;padding-left:1pt;padding-right:1pt;"><span style="font-size:6pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="6" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:middle;padding-left:1pt;padding-right:1pt;"><span style="font-size:6pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Exhibit 101.PRE</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Inline XBRL Taxonomy Extension Presentation Linkbase Document.</span></td></tr><tr><td colspan="3" style="height:6pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:6pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:6pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Exhibit 104</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:top;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101).</span></td></tr></table></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"> </span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;-sec-extract:summary;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">29</span></div></div></div><hr style="page-break-after:always"/><div id="idedd8d3e0b164448a7aeb348636ed2a9_118"></div><div style="height:42.75pt;width:100%;"><div><span><br/></span></div></div><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;">SIGNATURES</span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.</span></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#160;</span></div><div style="text-align:right;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:53.508%;"><tr><td style="width:1.0%;"></td><td style="width:7.016%;"></td><td style="width:1.0%;"></td><td style="width:1.0%;"></td><td style="width:88.984%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:12pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">TYLER TECHNOLOGIES, INC.</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;">&#160;</span></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;">By:</span></div></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:100%;">&#160;</span></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;">/s/ Brian K. Miller</span></div></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:12pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Brian K. Miller</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:12pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Executive Vice President and Chief Financial Officer</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:12pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(principal financial officer and an authorized signatory)</span></td></tr></table></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Date: April&#160;29, 2020 </span></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div style="text-align:center;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">30</span></div></div></div></body></html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>tyl3312020exhibit311.htm
<DESCRIPTION>EX-31.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2020 Workiva -->
<title>Document</title></head><body><div id="ic513ba4ba3b04b43b0361d667189302d_1"></div><div style="height:42.75pt;width:100%;"><div style="text-align:right;"><font><br></font></div><div style="text-align:right;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;">Exhibit 31.1</font></div></div><div style="text-align:center;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">CERTIFICATIONS</font></div><div><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">I, H. Lynn Moore, Jr., certify that&#58;</font></div><div style="text-align:center;"><font><br></font></div><div><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">1.</font><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28.5pt;">I have reviewed this quarterly report on Form 10-Q of Tyler Technologies, Inc.&#59;</font></div><div><font><br></font></div><div style="text-indent:-36pt;padding-left:36pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">2. &#160;Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this quarterly report&#59;</font></div><div style="text-indent:-36pt;padding-left:36pt;"><font><br></font></div><div style="text-indent:-36pt;padding-left:36pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">3.&#160;Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report&#59;</font></div><div style="text-indent:-36pt;padding-left:36pt;"><font><br></font></div><div style="text-indent:-36pt;padding-left:36pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">4. &#160;The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over our financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for Tyler and have&#58;</font></div><div style="text-indent:-36pt;padding-left:36pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div><div style="text-indent:-36pt;padding-left:72pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">a.</font><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:29.07pt;">Designed such disclosure controls and procedures or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its divisions, is made known to us by others within those entities, particularly during the period in which this report is being prepared&#59;</font></div><div style="padding-left:72pt;"><font><br></font></div><div style="text-indent:-36pt;padding-left:72pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">b.</font><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28.5pt;">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles&#59;</font></div><div style="padding-left:72pt;"><font><br></font></div><div style="text-indent:-36pt;padding-left:72pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">c.</font><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:29.07pt;">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation&#59; and</font></div><div style="padding-left:72pt;"><font><br></font></div><div style="text-indent:-36pt;padding-left:72pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">d.</font><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28.5pt;">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (The registrant&#8217;s first quarter in the case of this quarterly report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and</font></div><div style="padding-left:72pt;"><font><br></font></div><div style="text-indent:-36pt;padding-left:36pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">5.&#160;The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent function)&#58;</font></div><div style="text-indent:-36pt;padding-left:36pt;"><font><br></font></div><div style="text-indent:-36pt;padding-left:72pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">a.</font><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:29.07pt;">All significant deficiencies and material weaknesses in the design or operation of internal controls over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information&#59; and</font></div><div style="padding-left:72pt;"><font><br></font></div><div style="text-indent:-36pt;padding-left:72pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">b.</font><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28.5pt;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal controls over financial reporting.</font></div><div><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#160;</font></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:95.906%;"><tr><td style="width:1.0%;"></td><td style="width:29.707%;"></td><td style="width:1.0%;"></td><td style="width:1.0%;"></td><td style="width:13.853%;"></td><td style="width:1.0%;"></td><td style="width:1.0%;"></td><td style="width:2.268%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.562%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:45.410%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Date&#58; April 29, 2020</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">By&#58;</font></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#47;s&#47; H. Lynn Moore, Jr.&#160;</font></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">H. Lynn Moore, Jr.</font></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">President and Chief Executive Officer</font></td></tr></table></div><div><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#160;</font></div><div><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#160;</font></div><div><font><br></font></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>tyl3312020exhibit312.htm
<DESCRIPTION>EX-31.2
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2020 Workiva -->
<title>Document</title></head><body><div id="ic4c130a568534d27a542bfa7e9a3c322_1"></div><div style="height:42.75pt;width:100%;"><div style="text-align:right;"><font><br></font></div><div style="text-align:right;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;">Exhibit 31.2</font></div></div><div style="text-align:center;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">CERTIFICATIONS</font></div><div><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">I, Brian K. Miller, certify that&#58;</font></div><div style="text-align:center;"><font><br></font></div><div><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">1.</font><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28.5pt;">I have reviewed this quarterly report on Form 10-Q of Tyler Technologies, Inc.&#59;</font></div><div><font><br></font></div><div style="text-indent:-36pt;padding-left:36pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">2. &#160;Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this quarterly report&#59;</font></div><div style="text-indent:-36pt;padding-left:36pt;"><font><br></font></div><div style="text-indent:-36pt;padding-left:36pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">3.&#160;Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report&#59;</font></div><div style="text-indent:-36pt;padding-left:36pt;"><font><br></font></div><div style="text-indent:-36pt;padding-left:36pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">4. &#160;The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over our financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for Tyler and have&#58;</font></div><div style="text-indent:-36pt;padding-left:36pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div><div style="text-indent:-36pt;padding-left:72pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">a.</font><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:29.07pt;">Designed such disclosure controls and procedures or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its divisions, is made known to us by others within those entities, particularly during the period in which this report is being prepared&#59;</font></div><div style="padding-left:72pt;"><font><br></font></div><div style="text-indent:-36pt;padding-left:72pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">b.</font><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28.5pt;">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles&#59;</font></div><div style="padding-left:72pt;"><font><br></font></div><div style="text-indent:-36pt;padding-left:72pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">c.</font><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:29.07pt;">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation&#59; and</font></div><div style="padding-left:72pt;"><font><br></font></div><div style="text-indent:-36pt;padding-left:72pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">d.</font><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28.5pt;">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (The registrant&#8217;s first quarter in the case of this quarterly report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting&#59; and</font></div><div style="padding-left:72pt;"><font><br></font></div><div style="text-indent:-36pt;padding-left:36pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">5.&#160;The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of the registrant&#8217;s board of directors (or persons performing the equivalent function)&#58;</font></div><div style="text-indent:-36pt;padding-left:36pt;"><font><br></font></div><div style="text-indent:-36pt;padding-left:72pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">a.</font><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:29.07pt;">All significant deficiencies and material weaknesses in the design or operation of internal controls over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information&#59; and</font></div><div style="padding-left:72pt;"><font><br></font></div><div style="text-indent:-36pt;padding-left:72pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">b.</font><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:28.5pt;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal controls over financial reporting.</font></div><div><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#160;</font></div><div><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#160;</font></div><div><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#160;</font></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:99.707%;"><tr><td style="width:1.0%;"></td><td style="width:23.806%;"></td><td style="width:1.0%;"></td><td style="width:1.0%;"></td><td style="width:23.366%;"></td><td style="width:1.0%;"></td><td style="width:1.0%;"></td><td style="width:2.105%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.533%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:41.990%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Date&#58; April 29, 2020</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">By&#58;</font></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#47;s&#47; Brian K. Miller&#160;</font></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Brian K. Miller</font></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Executive Vice President and Chief Financial Officer</font></td></tr></table></div><div><font><br></font></div><div><font><br></font></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>4
<FILENAME>tyl3312020exhibit321.htm
<DESCRIPTION>EX-32.1
<TEXT>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>
<!-- Document created using Wdesk -->
<!-- Copyright 2020 Workiva -->
<title>Document</title></head><body><div id="i14fa73c0a5944447828a2cb78447fe5f_1"></div><div style="height:42.75pt;width:100%;"><div style="text-align:right;"><font><br></font></div><div style="text-align:right;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%;">Exhibit 32.1</font></div></div><div style="text-align:center;margin-top:12pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">CERTIFICATION</font></div><div style="text-align:center;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">PURSUANT TO 18 U.S.C. SECTION 1350,</font></div><div style="text-align:center;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">AS ADOPTED PURSUANT TO</font></div><div style="text-align:center;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></div><div><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">H. Lynn Moore, Jr., President and Chief Executive Officer of Tyler Technologies, Inc., (the &#8220;Company&#8221;) and Brian K. Miller, Executive Vice President and Chief Financial Officer of the Company, each certify pursuant to section 906 of the Sarbanes-Oxley Act of 2002, 18 U.S.C. Section&#160;1350, that&#58;</font></div><div style="text-indent:-22.5pt;padding-left:49.5pt;margin-top:6pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">1.&#160;The Quarterly Report on Form 10-Q of the Company for the quarter ended March&#160;31, 2020, fully complies with the requirements of Section&#160;13(a) or 15(d) of the Securities Exchange Act of 1934 as amended&#59; and</font></div><div style="text-indent:-22.5pt;padding-left:49.5pt;margin-top:6pt;"><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">2.&#160;The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></div><div style="padding-left:36pt;"><font><br></font></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:93.421%;"><tr><td style="width:1.0%;"></td><td style="width:20.691%;"></td><td style="width:1.0%;"></td><td style="width:1.0%;"></td><td style="width:20.691%;"></td><td style="width:1.0%;"></td><td style="width:1.0%;"></td><td style="width:2.381%;"></td><td style="width:1.0%;"></td><td style="width:0.1%;"></td><td style="width:0.582%;"></td><td style="width:0.1%;"></td><td style="width:1.0%;"></td><td style="width:47.455%;"></td><td style="width:1.0%;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Date&#58; April 29, 2020</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">By&#58;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#47;s&#47; H. Lynn Moore, Jr.&#160;</font></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">H. Lynn Moore, Jr.</font></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">President and Chief Executive Officer</font></td></tr><tr><td colspan="3" style="height:3pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:3pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:3pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:3pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td><td colspan="3" style="height:3pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Date&#58; April 29, 2020</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">By&#58;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#47;s&#47; Brian K. Miller&#160;</font></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Brian K. Miller</font></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</font></td><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><font style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Executive Vice President and Chief Financial Officer</font></td></tr></table></div><div style="text-align:center;"><font><br></font></div><div><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">A signed original of this written statement required by Section&#160;906 has been provided to Tyler Technologies, Inc. and will be retained by Tyler Technologies, Inc. and furnished to the Securities and Exchange Commission upon request.</font></div><div><font style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#160;</font></div><div><font><br></font></div><div style="position:relative;width:100%;height:42.75pt;"><div style="position:absolute;bottom:0;width:100%;"><div><font><br></font></div></div></div></body></html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>5
<FILENAME>tyl-20200331.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2020 Workiva-->
<!--r:9c0163e1-2bea-4e19-a373-e0f9503df286,g:86679952-cdda-4c06-ac05-01fb6f67268a-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:tyl="http://www.tylertech.com/20200331" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:num="http://www.xbrl.org/dtr/type/numeric" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.tylertech.com/20200331">
  <xs:import namespace="http://fasb.org/srt/2019-01-31" schemaLocation="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd"/>
  <xs:import namespace="http://fasb.org/us-gaap/2019-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd"/>
  <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="http://www.xbrl.org/2003/xlink-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/non-numeric" schemaLocation="http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/numeric" schemaLocation="http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd"/>
  <xs:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei/2019-01-31" schemaLocation="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd"/>
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="tyl-20200331_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="tyl-20200331_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="tyl-20200331_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="tyl-20200331_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:roleType id="Cover" roleURI="http://www.tylertech.com/role/Cover">
        <link:definition>1001001 - Statement - Cover</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" roleURI="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME">
        <link:definition>1002002 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CONDENSEDCONSOLIDATEDBALANCESHEETS" roleURI="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS">
        <link:definition>1003003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" roleURI="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical">
        <link:definition>1004004 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" roleURI="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS">
        <link:definition>1005005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY" roleURI="http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY">
        <link:definition>1006006 - Statement - CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="BasisofPresentation" roleURI="http://www.tylertech.com/role/BasisofPresentation">
        <link:definition>2101101 - Disclosure - Basis of Presentation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccountingStandardsandSignificantAccountingPolicies" roleURI="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPolicies">
        <link:definition>2102102 - Disclosure - Accounting Standards and Significant Accounting Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccountingStandardsandSignificantAccountingPoliciesPolicies" roleURI="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesPolicies">
        <link:definition>2203201 - Disclosure - Accounting Standards and Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails" roleURI="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails">
        <link:definition>2404401 - Disclosure - Accounting Standards and Significant Accounting Policies - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Acquisitions" roleURI="http://www.tylertech.com/role/Acquisitions">
        <link:definition>2105103 - Disclosure - Acquisitions</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="AcquisitionsNarrativeDetails" roleURI="http://www.tylertech.com/role/AcquisitionsNarrativeDetails">
        <link:definition>2406402 - Disclosure - Acquisitions - Narrative (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ShareholdersEquity" roleURI="http://www.tylertech.com/role/ShareholdersEquity">
        <link:definition>2107104 - Disclosure - Shareholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ShareholdersEquityTables" roleURI="http://www.tylertech.com/role/ShareholdersEquityTables">
        <link:definition>2308301 - Disclosure - Shareholders' Equity (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ShareholdersEquitySummaryofActivitiesinCommonStockDetail" roleURI="http://www.tylertech.com/role/ShareholdersEquitySummaryofActivitiesinCommonStockDetail">
        <link:definition>2409403 - Disclosure - Shareholders' Equity - Summary of Activities in Common Stock (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ShareholdersEquityAdditionalInformationDetail" roleURI="http://www.tylertech.com/role/ShareholdersEquityAdditionalInformationDetail">
        <link:definition>2410404 - Disclosure - Shareholders' Equity - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DeferredCommissions" roleURI="http://www.tylertech.com/role/DeferredCommissions">
        <link:definition>2111105 - Disclosure - Deferred Commissions</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DeferredCommissionsDetails" roleURI="http://www.tylertech.com/role/DeferredCommissionsDetails">
        <link:definition>2412405 - Disclosure - Deferred Commissions (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="OtherAssets" roleURI="http://www.tylertech.com/role/OtherAssets">
        <link:definition>2113106 - Disclosure - Other Assets</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="OtherAssetsDetail" roleURI="http://www.tylertech.com/role/OtherAssetsDetail">
        <link:definition>2414406 - Disclosure - Other Assets (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevolvingLineofCredit" roleURI="http://www.tylertech.com/role/RevolvingLineofCredit">
        <link:definition>2115107 - Disclosure - Revolving Line of Credit</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="RevolvingLineofCreditDetail" roleURI="http://www.tylertech.com/role/RevolvingLineofCreditDetail">
        <link:definition>2416407 - Disclosure - Revolving Line of Credit (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxProvision" roleURI="http://www.tylertech.com/role/IncomeTaxProvision">
        <link:definition>2117108 - Disclosure - Income Tax Provision</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="IncomeTaxProvisionDetail" roleURI="http://www.tylertech.com/role/IncomeTaxProvisionDetail">
        <link:definition>2418408 - Disclosure - Income Tax Provision (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EarningsPerShare" roleURI="http://www.tylertech.com/role/EarningsPerShare">
        <link:definition>2119109 - Disclosure - Earnings Per Share</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EarningsPerShareTables" roleURI="http://www.tylertech.com/role/EarningsPerShareTables">
        <link:definition>2320302 - Disclosure - Earnings Per Share (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail" roleURI="http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail">
        <link:definition>2421409 - Disclosure - Earnings Per Share - Computation of Basic Earnings and Diluted Earnings Per Share Data (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="EarningsPerShareAdditionalInformationDetail" roleURI="http://www.tylertech.com/role/EarningsPerShareAdditionalInformationDetail">
        <link:definition>2422410 - Disclosure - Earnings Per Share - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="Leases" roleURI="http://www.tylertech.com/role/Leases">
        <link:definition>2123110 - Disclosure - Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesTables" roleURI="http://www.tylertech.com/role/LeasesTables">
        <link:definition>2324303 - Disclosure - Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesAdditionalInformationDetails" roleURI="http://www.tylertech.com/role/LeasesAdditionalInformationDetails">
        <link:definition>2425411 - Disclosure - Leases - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofleasecostDetails" roleURI="http://www.tylertech.com/role/LeasesScheduleofleasecostDetails">
        <link:definition>2426412 - Disclosure - Leases - Schedule of lease cost (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofleasesassetsandliabilitiesDetails" roleURI="http://www.tylertech.com/role/LeasesScheduleofleasesassetsandliabilitiesDetails">
        <link:definition>2427413 - Disclosure - Leases - Schedule of leases assets and liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleofotherinformationrelatedtoleasesDetails" roleURI="http://www.tylertech.com/role/LeasesScheduleofotherinformationrelatedtoleasesDetails">
        <link:definition>2428414 - Disclosure - Leases - Schedule of other information related to leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesMaturityofleaseliabilitiesDetails" roleURI="http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails">
        <link:definition>2429415 - Disclosure - Leases - Maturity of lease liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesMaturityofleaseliabilitiesDetails_1" roleURI="http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails_1">
        <link:definition>2429415 - Disclosure - Leases - Maturity of lease liabilities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="LeasesScheduleoffutureminimumoperatingrentalincomeDetails" roleURI="http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails">
        <link:definition>2430416 - Disclosure - Leases - Schedule of future minimum operating rental income (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ShareBasedCompensation" roleURI="http://www.tylertech.com/role/ShareBasedCompensation">
        <link:definition>2131111 - Disclosure - Share-Based Compensation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ShareBasedCompensationTables" roleURI="http://www.tylertech.com/role/ShareBasedCompensationTables">
        <link:definition>2332304 - Disclosure - Share-Based Compensation (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="ShareBasedCompensationDetail" roleURI="http://www.tylertech.com/role/ShareBasedCompensationDetail">
        <link:definition>2433417 - Disclosure - Share-Based Compensation (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentandRelatedInformation" roleURI="http://www.tylertech.com/role/SegmentandRelatedInformation">
        <link:definition>2134112 - Disclosure - Segment and Related Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentandRelatedInformationTables" roleURI="http://www.tylertech.com/role/SegmentandRelatedInformationTables">
        <link:definition>2335305 - Disclosure - Segment and Related Information (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentandRelatedInformationAdditionalInformationDetail" roleURI="http://www.tylertech.com/role/SegmentandRelatedInformationAdditionalInformationDetail">
        <link:definition>2436418 - Disclosure - Segment and Related Information - Additional Information (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail" roleURI="http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail">
        <link:definition>2437419 - Disclosure - Segment and Related Information - Schedule of Segment Revenues and Operations (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail" roleURI="http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail">
        <link:definition>2438420 - Disclosure - Segment and Related Information - Reconciliation of Operating Income from Segments to Consolidated (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DisaggregationofRevenue" roleURI="http://www.tylertech.com/role/DisaggregationofRevenue">
        <link:definition>2139113 - Disclosure - Disaggregation of Revenue</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DisaggregationofRevenueTables" roleURI="http://www.tylertech.com/role/DisaggregationofRevenueTables">
        <link:definition>2340306 - Disclosure - Disaggregation of Revenue (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DisaggregationofRevenueDetails" roleURI="http://www.tylertech.com/role/DisaggregationofRevenueDetails">
        <link:definition>2441421 - Disclosure - Disaggregation of Revenue (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DisaggregationofRevenueAdditionalInformationDetails" roleURI="http://www.tylertech.com/role/DisaggregationofRevenueAdditionalInformationDetails">
        <link:definition>2442422 - Disclosure - Disaggregation of Revenue - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DeferredRevenueandPerformanceObligations" roleURI="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligations">
        <link:definition>2143114 - Disclosure - Deferred Revenue and Performance Obligations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DeferredRevenueandPerformanceObligationsTables" roleURI="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsTables">
        <link:definition>2344307 - Disclosure - Deferred Revenue and Performance Obligations (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DeferredRevenueandPerformanceObligationsDeferredRevenueDetails" roleURI="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails">
        <link:definition>2445423 - Disclosure - Deferred Revenue and Performance Obligations - Deferred Revenue (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DeferredRevenueandPerformanceObligationsAdditionalInformationDetails" roleURI="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails">
        <link:definition>2446424 - Disclosure - Deferred Revenue and Performance Obligations - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="DeferredRevenueandPerformanceObligationsAdditionalInformationDetails_1" roleURI="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails_1">
        <link:definition>2446424 - Disclosure - Deferred Revenue and Performance Obligations - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsandContingencies" roleURI="http://www.tylertech.com/role/CommitmentsandContingencies">
        <link:definition>2147115 - Disclosure - Commitments and Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="CommitmentsandContingenciesDetail" roleURI="http://www.tylertech.com/role/CommitmentsandContingenciesDetail">
        <link:definition>2448425 - Disclosure - Commitments and Contingencies (Detail)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType id="SubsequentEvents" roleURI="http://www.tylertech.com/role/SubsequentEvents">
        <link:definition>2149116 - Disclosure - Subsequent Events</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <xs:element id="tyl_RecurringRevenueMember" abstract="true" name="RecurringRevenueMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="tyl_StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement" abstract="false" name="StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets" abstract="false" name="AmortizationOfCustomerAndTradeNamesIntangibleAssets" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="tyl_HardwareandOtherMember" abstract="true" name="HardwareandOtherMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="tyl_SoftwareLicensesandRoyaltiesMember" abstract="true" name="SoftwareLicensesandRoyaltiesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="tyl_NumberOfBusinessUnits" abstract="false" name="NumberOfBusinessUnits" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="tyl_EnterpriseSoftwareMember" abstract="true" name="EnterpriseSoftwareMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="tyl_CustomerListsAndTradeNameMember" abstract="true" name="CustomerListsAndTradeNameMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="tyl_CumulativeEffectPeriodOfAdoptionAdjustmentMember" abstract="true" name="CumulativeEffectPeriodOfAdoptionAdjustmentMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="tyl_RetentionReceivableMember" abstract="true" name="RetentionReceivableMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="tyl_ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement" abstract="false" name="ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:sharesItemType"/>
  <xs:element id="tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember" abstract="true" name="CostOfSoftwareServicesMaintenanceAndSubscriptionsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="tyl_AppraisalAndTaxMember" abstract="true" name="AppraisalAndTaxMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="tyl_ContractWithCustomerLiabilityIncreaseFromDeferral" abstract="false" name="ContractWithCustomerLiabilityIncreaseFromDeferral" nillable="true" xbrli:periodType="duration" xbrli:balance="credit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="tyl_CreditAgreementMember" abstract="true" name="CreditAgreementMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="tyl_NumberOfLegalProceedingsThatHaveMaterialEffect" abstract="false" name="NumberOfLegalProceedingsThatHaveMaterialEffect" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="xbrli:integerItemType"/>
  <xs:element id="tyl_OperatingSegmentsAndCorporateNonSegmentMember" abstract="true" name="OperatingSegmentsAndCorporateNonSegmentMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="tyl_RecordHoldingsPtyLimitedMember" abstract="true" name="RecordHoldingsPtyLimitedMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="tyl_CorporateAndEliminationsMember" abstract="true" name="CorporateAndEliminationsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="tyl_ContractWithCustomerLiabilityRollForward" abstract="true" name="ContractWithCustomerLiabilityRollForward" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="tyl_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock" abstract="false" name="ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType"/>
  <xs:element id="tyl_CumulativeEffectPeriodOfAdoptionDomain" abstract="true" name="CumulativeEffectPeriodOfAdoptionDomain" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="tyl_SoftwareServicesMaintenanceandSubscriptionsMember" abstract="true" name="SoftwareServicesMaintenanceandSubscriptionsMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="tyl_ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock" abstract="false" name="ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:textBlockItemType"/>
  <xs:element id="tyl_NumeratorofBasicandDilutedEarningsPerShareAbstract" abstract="true" name="NumeratorofBasicandDilutedEarningsPerShareAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="tyl_OperatingLeaseRightOfUseAssetsNonCash" abstract="false" name="OperatingLeaseRightOfUseAssetsNonCash" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="tyl_NonrecurringRevenueMember" abstract="true" name="NonrecurringRevenueMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="tyl_RevenueFromContractWithCustomerTypicalContractTerm" abstract="false" name="RevenueFromContractWithCustomerTypicalContractTerm" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="tyl_MPHoldingsParentInc.dbaMicroPactMember" abstract="true" name="MPHoldingsParentInc.dbaMicroPactMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="tyl_CumulativeEffectPeriodOfAdoptionAxis" abstract="true" name="CumulativeEffectPeriodOfAdoptionAxis" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrldt:dimensionItem" type="xbrli:stringItemType"/>
  <xs:element id="tyl_AssumedConversionofDilutiveSecuritiesAbstract" abstract="true" name="AssumedConversionofDilutiveSecuritiesAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="tyl_DenominatorAbstract" abstract="true" name="DenominatorAbstract" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:stringItemType"/>
  <xs:element id="tyl_RecurringRevenuePercentageOfTotalRevenue" abstract="false" name="RecurringRevenuePercentageOfTotalRevenue" nillable="true" xbrli:periodType="instant" substitutionGroup="xbrli:item" type="num:percentItemType"/>
  <xs:element id="tyl_AppraisalServicesMember" abstract="true" name="AppraisalServicesMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="tyl_SalesCommissionsAmortizationPeriod" abstract="false" name="SalesCommissionsAmortizationPeriod" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="tyl_RevenueFromContractWithCustomerContractTerm" abstract="false" name="RevenueFromContractWithCustomerContractTerm" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="xbrli:durationItemType"/>
  <xs:element id="tyl_AcquiredSoftwareMember" abstract="true" name="AcquiredSoftwareMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="nonnum:domainItemType"/>
  <xs:element id="tyl_IncreaseDecreaseInOperatingLeaseLiabilities" abstract="false" name="IncreaseDecreaseInOperatingLeaseLiabilities" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>6
<FILENAME>tyl-20200331_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2020 Workiva-->
<!--r:9c0163e1-2bea-4e19-a373-e0f9503df286,g:86679952-cdda-4c06-ac05-01fb6f67268a-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.tylertech.com/role/Cover" xlink:type="simple" xlink:href="tyl-20200331.xsd#Cover"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/Cover" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" xlink:type="simple" xlink:href="tyl-20200331.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_9db0db63-079e-480f-8af1-067c9c4cfe56" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_95a20a2e-154a-49e3-842b-ea8dcab2cd90" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_9db0db63-079e-480f-8af1-067c9c4cfe56" xlink:to="loc_us-gaap_OperatingIncomeLoss_95a20a2e-154a-49e3-842b-ea8dcab2cd90" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_90a6366f-bc87-45d0-a543-08aa81f1c830" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_9db0db63-079e-480f-8af1-067c9c4cfe56" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_90a6366f-bc87-45d0-a543-08aa81f1c830" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_1a9222c3-636c-409b-a01a-6ff8ed20fda3" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_78c02d53-7e2d-4cb9-abd2-c90fd373f840" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_1a9222c3-636c-409b-a01a-6ff8ed20fda3" xlink:to="loc_us-gaap_GrossProfit_78c02d53-7e2d-4cb9-abd2-c90fd373f840" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_5bab0c29-742f-475b-9173-29dca2d0ef45" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_1a9222c3-636c-409b-a01a-6ff8ed20fda3" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_5bab0c29-742f-475b-9173-29dca2d0ef45" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost_385c1742-ee91-4dac-8742-0736a68d03d9" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost"/>
    <link:calculationArc order="3" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_1a9222c3-636c-409b-a01a-6ff8ed20fda3" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost_385c1742-ee91-4dac-8742-0736a68d03d9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets_e4b83ec6-36bc-4df9-9774-172b09371e88" xlink:href="tyl-20200331.xsd#tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingIncomeLoss_1a9222c3-636c-409b-a01a-6ff8ed20fda3" xlink:to="loc_tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets_e4b83ec6-36bc-4df9-9774-172b09371e88" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_660d4754-f925-448e-a1c7-bea59f5c1d6d" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_31aebc31-2ec2-445c-aae2-96f766e0decc" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_660d4754-f925-448e-a1c7-bea59f5c1d6d" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_31aebc31-2ec2-445c-aae2-96f766e0decc" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_6d2ddb97-4655-41d0-a94c-418596f53112" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_GrossProfit_660d4754-f925-448e-a1c7-bea59f5c1d6d" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_6d2ddb97-4655-41d0-a94c-418596f53112" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_6422292f-e2a5-42ab-a550-8b7b624167b4" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_6a485664-7d3c-4bff-ac3f-49e2c38f9e60" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_6422292f-e2a5-42ab-a550-8b7b624167b4" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_6a485664-7d3c-4bff-ac3f-49e2c38f9e60" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_3740c96a-611c-443d-8279-2a35a722065a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetIncomeLoss_6422292f-e2a5-42ab-a550-8b7b624167b4" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_3740c96a-611c-443d-8279-2a35a722065a" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" xlink:type="simple" xlink:href="tyl-20200331.xsd#CONDENSEDCONSOLIDATEDBALANCESHEETS"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_d25ae7b9-691c-499f-87b8-540f516aaf65" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_a76d339b-6c12-4d4a-b995-f605a803349b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_d25ae7b9-691c-499f-87b8-540f516aaf65" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_a76d339b-6c12-4d4a-b995-f605a803349b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_9fc0cc45-9cc9-4431-b288-82146ccc2a21" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_d25ae7b9-691c-499f-87b8-540f516aaf65" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_9fc0cc45-9cc9-4431-b288-82146ccc2a21" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermInvestments_4637b10b-6d5d-4088-828f-5ecad3ba8ea1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermInvestments"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_d25ae7b9-691c-499f-87b8-540f516aaf65" xlink:to="loc_us-gaap_ShortTermInvestments_4637b10b-6d5d-4088-828f-5ecad3ba8ea1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseCurrent_07b8a0a8-18b7-4c7a-84d2-48199bbc9255" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrepaidExpenseCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_d25ae7b9-691c-499f-87b8-540f516aaf65" xlink:to="loc_us-gaap_PrepaidExpenseCurrent_07b8a0a8-18b7-4c7a-84d2-48199bbc9255" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReceivable_bb1ce30f-7fb3-4368-b665-6d07f5ed5406" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReceivable"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_d25ae7b9-691c-499f-87b8-540f516aaf65" xlink:to="loc_us-gaap_IncomeTaxReceivable_bb1ce30f-7fb3-4368-b665-6d07f5ed5406" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsCurrent_e55982fd-77eb-4fc1-b444-6b4a6977d998" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsCurrent"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AssetsCurrent_d25ae7b9-691c-499f-87b8-540f516aaf65" xlink:to="loc_us-gaap_OtherAssetsCurrent_e55982fd-77eb-4fc1-b444-6b4a6977d998" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_bbc0b848-b28b-45c8-a2d1-fe21ddf99c94" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Assets"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_e4d251ab-7738-4fe7-afe1-806013e94b24" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_bbc0b848-b28b-45c8-a2d1-fe21ddf99c94" xlink:to="loc_us-gaap_AssetsCurrent_e4d251ab-7738-4fe7-afe1-806013e94b24" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetNoncurrent_a8a87ac1-b6dc-4490-91a0-616bf205ce4a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_bbc0b848-b28b-45c8-a2d1-fe21ddf99c94" xlink:to="loc_us-gaap_AccountsReceivableNetNoncurrent_a8a87ac1-b6dc-4490-91a0-616bf205ce4a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_c93cd74c-60d6-493c-8669-009ee74d6268" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_bbc0b848-b28b-45c8-a2d1-fe21ddf99c94" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_c93cd74c-60d6-493c-8669-009ee74d6268" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_2d2f9db4-1cf6-4ebe-8a45-50a03d617af0" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Goodwill"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_bbc0b848-b28b-45c8-a2d1-fe21ddf99c94" xlink:to="loc_us-gaap_Goodwill_2d2f9db4-1cf6-4ebe-8a45-50a03d617af0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_2398a8dc-4e03-4461-b66f-f50963f2eb9a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_bbc0b848-b28b-45c8-a2d1-fe21ddf99c94" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_2398a8dc-4e03-4461-b66f-f50963f2eb9a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentsAndOtherNoncurrentAssets_711e61f4-88f9-4ea3-a622-5fa876f914ce" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentsAndOtherNoncurrentAssets"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_bbc0b848-b28b-45c8-a2d1-fe21ddf99c94" xlink:to="loc_us-gaap_InvestmentsAndOtherNoncurrentAssets_711e61f4-88f9-4ea3-a622-5fa876f914ce" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_9160537d-92c3-4817-84d6-54b3b2b432e8" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_Assets_bbc0b848-b28b-45c8-a2d1-fe21ddf99c94" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_9160537d-92c3-4817-84d6-54b3b2b432e8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_25876960-b8d5-4b5a-ba38-1266cbe34a43" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_65f3607b-6d7a-45ac-b17a-f6dc264b17b4" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_25876960-b8d5-4b5a-ba38-1266cbe34a43" xlink:to="loc_us-gaap_LiabilitiesCurrent_65f3607b-6d7a-45ac-b17a-f6dc264b17b4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent_e6deaeea-a0e1-4275-bf88-b5d6bae69bad" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_25876960-b8d5-4b5a-ba38-1266cbe34a43" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent_e6deaeea-a0e1-4275-bf88-b5d6bae69bad" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_ce4215ed-7982-44a2-bd4a-03dbdc5dc936" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_25876960-b8d5-4b5a-ba38-1266cbe34a43" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_ce4215ed-7982-44a2-bd4a-03dbdc5dc936" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies_c4408855-9a5d-4fce-9f2d-6d8e5a94ecff" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_25876960-b8d5-4b5a-ba38-1266cbe34a43" xlink:to="loc_us-gaap_CommitmentsAndContingencies_c4408855-9a5d-4fce-9f2d-6d8e5a94ecff" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_d68b25f0-8727-405b-ab70-d2b1e0a7b9f1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_25876960-b8d5-4b5a-ba38-1266cbe34a43" xlink:to="loc_us-gaap_StockholdersEquity_d68b25f0-8727-405b-ab70-d2b1e0a7b9f1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermLineOfCredit_f8646852-f072-454a-babb-c49f472b55da" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermLineOfCredit"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_25876960-b8d5-4b5a-ba38-1266cbe34a43" xlink:to="loc_us-gaap_LongTermLineOfCredit_f8646852-f072-454a-babb-c49f472b55da" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_a482a214-ee14-4692-b8ff-910762d46e86" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="7" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_25876960-b8d5-4b5a-ba38-1266cbe34a43" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_a482a214-ee14-4692-b8ff-910762d46e86" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_73339a69-497f-4718-9660-7d431511a888" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_7d823070-e42e-4dbd-8917-83e864c651d8" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_73339a69-497f-4718-9660-7d431511a888" xlink:to="loc_us-gaap_AccountsPayableCurrent_7d823070-e42e-4dbd-8917-83e864c651d8" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_86754ec7-7c31-44d7-9a79-d83c864b9735" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_73339a69-497f-4718-9660-7d431511a888" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_86754ec7-7c31-44d7-9a79-d83c864b9735" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_e88edb42-9d31-4b8e-af5e-080a3aaf06f4" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_73339a69-497f-4718-9660-7d431511a888" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_e88edb42-9d31-4b8e-af5e-080a3aaf06f4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_7937b15d-3eb0-4169-bb31-805d51ea0763" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_73339a69-497f-4718-9660-7d431511a888" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_7937b15d-3eb0-4169-bb31-805d51ea0763" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrent_b0d05a89-ed0b-45c5-a810-846b0c4225ce" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TaxesPayableCurrent"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LiabilitiesCurrent_73339a69-497f-4718-9660-7d431511a888" xlink:to="loc_us-gaap_TaxesPayableCurrent_b0d05a89-ed0b-45c5-a810-846b0c4225ce" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_e4e5bf6e-df9e-4eff-b8a7-415fd4cec677" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_3f2f43e7-c620-4531-8ce2-8b187e809429" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PreferredStockValue"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_e4e5bf6e-df9e-4eff-b8a7-415fd4cec677" xlink:to="loc_us-gaap_PreferredStockValue_3f2f43e7-c620-4531-8ce2-8b187e809429" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_37609e8e-6456-497b-938f-a08473e9f685" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockValue"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_e4e5bf6e-df9e-4eff-b8a7-415fd4cec677" xlink:to="loc_us-gaap_CommonStockValue_37609e8e-6456-497b-938f-a08473e9f685" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_a43ffcea-91da-4fc0-a1a6-9ff1c3cf6128" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_e4e5bf6e-df9e-4eff-b8a7-415fd4cec677" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_a43ffcea-91da-4fc0-a1a6-9ff1c3cf6128" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_4ecc4dc5-d217-4bf0-a53c-86dda2fec65a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_e4e5bf6e-df9e-4eff-b8a7-415fd4cec677" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_4ecc4dc5-d217-4bf0-a53c-86dda2fec65a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_eea55c27-93ba-41ee-bc8b-f01374fc3dfb" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_e4e5bf6e-df9e-4eff-b8a7-415fd4cec677" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_eea55c27-93ba-41ee-bc8b-f01374fc3dfb" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue_32503c23-8d18-4b53-ae93-832d35b3c707" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockValue"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_StockholdersEquity_e4e5bf6e-df9e-4eff-b8a7-415fd4cec677" xlink:to="loc_us-gaap_TreasuryStockValue_32503c23-8d18-4b53-ae93-832d35b3c707" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" xlink:type="simple" xlink:href="tyl-20200331.xsd#CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="simple" xlink:href="tyl-20200331.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_14ae7cb2-a0bf-4b25-be38-49a9af6b8056" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_0f1eb3cd-6d37-4280-8d4b-d16a3af3a388" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_14ae7cb2-a0bf-4b25-be38-49a9af6b8056" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_0f1eb3cd-6d37-4280-8d4b-d16a3af3a388" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireMarketableSecurities_b448a351-96b2-4fc1-868f-8f0bbb3efce9" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireMarketableSecurities"/>
    <link:calculationArc order="2" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_14ae7cb2-a0bf-4b25-be38-49a9af6b8056" xlink:to="loc_us-gaap_PaymentsToAcquireMarketableSecurities_b448a351-96b2-4fc1-868f-8f0bbb3efce9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_67fe17c3-e468-4ae7-9d58-a7b536c4eaa4" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_14ae7cb2-a0bf-4b25-be38-49a9af6b8056" xlink:to="loc_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_67fe17c3-e468-4ae7-9d58-a7b536c4eaa4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForProceedsFromOtherInvestingActivities_a592c1e4-7e92-4100-b676-d582cd20a0ba" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities"/>
    <link:calculationArc order="4" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_14ae7cb2-a0bf-4b25-be38-49a9af6b8056" xlink:to="loc_us-gaap_PaymentsForProceedsFromOtherInvestingActivities_a592c1e4-7e92-4100-b676-d582cd20a0ba" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_b85b7fec-5d7d-4911-b2dc-5e7a5f00348f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_14ae7cb2-a0bf-4b25-be38-49a9af6b8056" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_b85b7fec-5d7d-4911-b2dc-5e7a5f00348f" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForSoftware_033b7c74-66b7-4ee2-bd0e-978947b213c9" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsForSoftware"/>
    <link:calculationArc order="6" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_14ae7cb2-a0bf-4b25-be38-49a9af6b8056" xlink:to="loc_us-gaap_PaymentsForSoftware_033b7c74-66b7-4ee2-bd0e-978947b213c9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireEquityMethodInvestments_0b0c2238-5d69-4513-af4c-0e0ac824d177" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments"/>
    <link:calculationArc order="7" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_14ae7cb2-a0bf-4b25-be38-49a9af6b8056" xlink:to="loc_us-gaap_PaymentsToAcquireEquityMethodInvestments_0b0c2238-5d69-4513-af4c-0e0ac824d177" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfEquityMethodInvestments_86b065cf-bfc3-447e-bef3-42a170dbf964" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_14ae7cb2-a0bf-4b25-be38-49a9af6b8056" xlink:to="loc_us-gaap_ProceedsFromSaleOfEquityMethodInvestments_86b065cf-bfc3-447e-bef3-42a170dbf964" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e21be536-bc92-4cd7-ad16-9dbf01e6eff1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_a8b28f6a-0dd1-4c65-b745-2985bca99785" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e21be536-bc92-4cd7-ad16-9dbf01e6eff1" xlink:to="loc_us-gaap_NetIncomeLoss_a8b28f6a-0dd1-4c65-b745-2985bca99785" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_634529ba-72db-4121-b0fa-717c92aea94b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e21be536-bc92-4cd7-ad16-9dbf01e6eff1" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_634529ba-72db-4121-b0fa-717c92aea94b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_045048b2-8931-49cb-a4a8-92710bbb0073" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensation"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e21be536-bc92-4cd7-ad16-9dbf01e6eff1" xlink:to="loc_us-gaap_ShareBasedCompensation_045048b2-8931-49cb-a4a8-92710bbb0073" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_75e42154-07ba-4220-b93e-5cb817571a85" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e21be536-bc92-4cd7-ad16-9dbf01e6eff1" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_75e42154-07ba-4220-b93e-5cb817571a85" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_cfc6e29d-84a6-44c9-9a68-b429638575f5" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e21be536-bc92-4cd7-ad16-9dbf01e6eff1" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_cfc6e29d-84a6-44c9-9a68-b429638575f5" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_4c3390cf-4216-4186-99cc-02832bc8f466" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e21be536-bc92-4cd7-ad16-9dbf01e6eff1" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_4c3390cf-4216-4186-99cc-02832bc8f466" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_48e24641-a0e8-42c0-a5a1-433f36d7bf51" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:calculationArc order="7" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e21be536-bc92-4cd7-ad16-9dbf01e6eff1" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_48e24641-a0e8-42c0-a5a1-433f36d7bf51" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_4eaaf2b1-2600-408a-980c-614ccaf1eee0" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:calculationArc order="8" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e21be536-bc92-4cd7-ad16-9dbf01e6eff1" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_4eaaf2b1-2600-408a-980c-614ccaf1eee0" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_2d58368a-a7f6-4279-83dd-5e1a48d6cbd3" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:calculationArc order="9" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e21be536-bc92-4cd7-ad16-9dbf01e6eff1" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_2d58368a-a7f6-4279-83dd-5e1a48d6cbd3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_1ea7bc39-8ab7-49b5-8126-e976f752f966" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:calculationArc order="10" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e21be536-bc92-4cd7-ad16-9dbf01e6eff1" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_1ea7bc39-8ab7-49b5-8126-e976f752f966" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_IncreaseDecreaseInOperatingLeaseLiabilities_7ed3de67-ef46-4c98-88e7-a9a74644d21a" xlink:href="tyl-20200331.xsd#tyl_IncreaseDecreaseInOperatingLeaseLiabilities"/>
    <link:calculationArc order="11" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e21be536-bc92-4cd7-ad16-9dbf01e6eff1" xlink:to="loc_tyl_IncreaseDecreaseInOperatingLeaseLiabilities_7ed3de67-ef46-4c98-88e7-a9a74644d21a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_OperatingLeaseRightOfUseAssetsNonCash_a729fed3-24c2-4417-aba9-c66a16d05809" xlink:href="tyl-20200331.xsd#tyl_OperatingLeaseRightOfUseAssetsNonCash"/>
    <link:calculationArc order="12" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_e21be536-bc92-4cd7-ad16-9dbf01e6eff1" xlink:to="loc_tyl_OperatingLeaseRightOfUseAssetsNonCash_a729fed3-24c2-4417-aba9-c66a16d05809" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_7ef9aebf-3c41-4177-9594-4130e764809e" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0c825648-47f5-42b5-8a19-45da28ccf769" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_7ef9aebf-3c41-4177-9594-4130e764809e" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_0c825648-47f5-42b5-8a19-45da28ccf769" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_e9b9e576-7030-4ceb-89c7-3f7e23a81c1d" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_7ef9aebf-3c41-4177-9594-4130e764809e" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_e9b9e576-7030-4ceb-89c7-3f7e23a81c1d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_4ac367da-6845-444c-9099-04b0fa269467" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_7ef9aebf-3c41-4177-9594-4130e764809e" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_4ac367da-6845-444c-9099-04b0fa269467" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_38f36951-a384-47a3-b203-55ec21c7a81b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_5cfb1cd5-9f0f-4767-ad86-0e2484afa886" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:calculationArc order="1" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_38f36951-a384-47a3-b203-55ec21c7a81b" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_5cfb1cd5-9f0f-4767-ad86-0e2484afa886" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised_c6e3ffa4-6661-443b-b17a-6e853d0b022b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_38f36951-a384-47a3-b203-55ec21c7a81b" xlink:to="loc_us-gaap_ProceedsFromStockOptionsExercised_c6e3ffa4-6661-443b-b17a-6e853d0b022b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockPlans_43e60e7e-6a6c-442a-8965-bb9a4ac936c4" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromStockPlans"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_38f36951-a384-47a3-b203-55ec21c7a81b" xlink:to="loc_us-gaap_ProceedsFromStockPlans_43e60e7e-6a6c-442a-8965-bb9a4ac936c4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLinesOfCredit_61db51ad-3168-4888-87a5-d6eb8a2e3e3b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromLinesOfCredit"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_38f36951-a384-47a3-b203-55ec21c7a81b" xlink:to="loc_us-gaap_ProceedsFromLinesOfCredit_61db51ad-3168-4888-87a5-d6eb8a2e3e3b" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_b9edf07c-dd25-4ea4-b2c3-7fe3bb8e7b25" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:calculationArc order="5" weight="-1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_38f36951-a384-47a3-b203-55ec21c7a81b" xlink:to="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_b9edf07c-dd25-4ea4-b2c3-7fe3bb8e7b25" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY" xlink:type="simple" xlink:href="tyl-20200331.xsd#CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/BasisofPresentation" xlink:type="simple" xlink:href="tyl-20200331.xsd#BasisofPresentation"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/BasisofPresentation" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPolicies" xlink:type="simple" xlink:href="tyl-20200331.xsd#AccountingStandardsandSignificantAccountingPolicies"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPolicies" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="tyl-20200331.xsd#AccountingStandardsandSignificantAccountingPoliciesPolicies"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesPolicies" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/Acquisitions" xlink:type="simple" xlink:href="tyl-20200331.xsd#Acquisitions"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/Acquisitions" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/AcquisitionsNarrativeDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#AcquisitionsNarrativeDetails"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/AcquisitionsNarrativeDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareholdersEquity" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareholdersEquity"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/ShareholdersEquity" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareholdersEquityTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareholdersEquityTables"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/ShareholdersEquityTables" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareholdersEquitySummaryofActivitiesinCommonStockDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareholdersEquitySummaryofActivitiesinCommonStockDetail"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/ShareholdersEquitySummaryofActivitiesinCommonStockDetail" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareholdersEquityAdditionalInformationDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareholdersEquityAdditionalInformationDetail"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/ShareholdersEquityAdditionalInformationDetail" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredCommissions" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredCommissions"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/DeferredCommissions" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredCommissionsDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredCommissionsDetails"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/DeferredCommissionsDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/OtherAssets" xlink:type="simple" xlink:href="tyl-20200331.xsd#OtherAssets"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/OtherAssets" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/OtherAssetsDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#OtherAssetsDetail"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/OtherAssetsDetail" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/RevolvingLineofCredit" xlink:type="simple" xlink:href="tyl-20200331.xsd#RevolvingLineofCredit"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/RevolvingLineofCredit" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/RevolvingLineofCreditDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#RevolvingLineofCreditDetail"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/RevolvingLineofCreditDetail" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/IncomeTaxProvision" xlink:type="simple" xlink:href="tyl-20200331.xsd#IncomeTaxProvision"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/IncomeTaxProvision" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/IncomeTaxProvisionDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#IncomeTaxProvisionDetail"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/IncomeTaxProvisionDetail" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/EarningsPerShare" xlink:type="simple" xlink:href="tyl-20200331.xsd#EarningsPerShare"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/EarningsPerShare" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/EarningsPerShareTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#EarningsPerShareTables"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/EarningsPerShareTables" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_ce8b4b4f-c307-4cf4-8f9a-431d1815fe9b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_25f26cd7-2a8a-43a3-89ca-44f0e4fd0758" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_ce8b4b4f-c307-4cf4-8f9a-431d1815fe9b" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_25f26cd7-2a8a-43a3-89ca-44f0e4fd0758" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_b28576e2-6097-4e06-b15f-5bab228c3a76" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_ce8b4b4f-c307-4cf4-8f9a-431d1815fe9b" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_b28576e2-6097-4e06-b15f-5bab228c3a76" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/EarningsPerShareAdditionalInformationDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#EarningsPerShareAdditionalInformationDetail"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/EarningsPerShareAdditionalInformationDetail" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/Leases" xlink:type="simple" xlink:href="tyl-20200331.xsd#Leases"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/Leases" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesTables"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/LeasesTables" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesAdditionalInformationDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesAdditionalInformationDetails"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/LeasesAdditionalInformationDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesScheduleofleasecostDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesScheduleofleasecostDetails"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/LeasesScheduleofleasecostDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost_23bdca5f-bf2b-4f88-a90c-220e9552d25d" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCost"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost_fc5adb84-c133-454b-97ed-dd4323073b7a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseCost"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost_23bdca5f-bf2b-4f88-a90c-220e9552d25d" xlink:to="loc_us-gaap_OperatingLeaseCost_fc5adb84-c133-454b-97ed-dd4323073b7a" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermLeaseCost_4ee28592-7756-4b41-9672-eec65e194722" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermLeaseCost"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost_23bdca5f-bf2b-4f88-a90c-220e9552d25d" xlink:to="loc_us-gaap_ShortTermLeaseCost_4ee28592-7756-4b41-9672-eec65e194722" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableLeaseCost_73845f9a-1e30-4d9b-84f6-415434e6d03c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableLeaseCost"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LeaseCost_23bdca5f-bf2b-4f88-a90c-220e9552d25d" xlink:to="loc_us-gaap_VariableLeaseCost_73845f9a-1e30-4d9b-84f6-415434e6d03c" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesScheduleofleasesassetsandliabilitiesDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesScheduleofleasesassetsandliabilitiesDetails"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/LeasesScheduleofleasesassetsandliabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_d20d6ac6-ca7d-46f4-b530-84d37f291ae8" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_675107f8-9ae6-48dc-85b7-9b9e0047d09e" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeaseLiability_d20d6ac6-ca7d-46f4-b530-84d37f291ae8" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_675107f8-9ae6-48dc-85b7-9b9e0047d09e" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_268f3005-5cd5-4b9d-91c7-6c3a3ce3eebb" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OperatingLeaseLiability_d20d6ac6-ca7d-46f4-b530-84d37f291ae8" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_268f3005-5cd5-4b9d-91c7-6c3a3ce3eebb" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesScheduleofotherinformationrelatedtoleasesDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesScheduleofotherinformationrelatedtoleasesDetails"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/LeasesScheduleofotherinformationrelatedtoleasesDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesMaturityofleaseliabilitiesDetails"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_750ce4e9-7671-43c3-8ee0-d25f608a5c5c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_dee39557-c1c3-4521-9b70-4fe0ceab4686" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_750ce4e9-7671-43c3-8ee0-d25f608a5c5c" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_dee39557-c1c3-4521-9b70-4fe0ceab4686" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_f2088a82-7744-4f82-9972-d286589dddaf" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_750ce4e9-7671-43c3-8ee0-d25f608a5c5c" xlink:to="loc_us-gaap_OperatingLeaseLiability_f2088a82-7744-4f82-9972-d286589dddaf" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails_1" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesMaturityofleaseliabilitiesDetails_1"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails_1" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_922ddd36-3e58-4bec-aef0-c0ea237d6a3b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_63d4abfe-5b82-484a-a1d2-3f7e88d07881" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_922ddd36-3e58-4bec-aef0-c0ea237d6a3b" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_63d4abfe-5b82-484a-a1d2-3f7e88d07881" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_be3336f3-ed4f-41ba-a64e-d03f54bcad43" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_922ddd36-3e58-4bec-aef0-c0ea237d6a3b" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_be3336f3-ed4f-41ba-a64e-d03f54bcad43" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_3eeb5af5-6644-49cb-989f-638ce7562ea9" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_922ddd36-3e58-4bec-aef0-c0ea237d6a3b" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_3eeb5af5-6644-49cb-989f-638ce7562ea9" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_4d530278-a5d1-42c0-8b37-4e97c6e606c1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_922ddd36-3e58-4bec-aef0-c0ea237d6a3b" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_4d530278-a5d1-42c0-8b37-4e97c6e606c1" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_182c6c33-36d5-4795-991b-9fa06ec7cf6d" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_922ddd36-3e58-4bec-aef0-c0ea237d6a3b" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_182c6c33-36d5-4795-991b-9fa06ec7cf6d" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_69a1f5b6-f080-44e7-995d-4e53e30c1878" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_922ddd36-3e58-4bec-aef0-c0ea237d6a3b" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_69a1f5b6-f080-44e7-995d-4e53e30c1878" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesScheduleoffutureminimumoperatingrentalincomeDetails"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived_1f7ebbe7-f2ed-4485-97f5-a414a072df60" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceived"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears_73be0117-7b71-4052-ba29-863b03a62537" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears"/>
    <link:calculationArc order="1" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived_1f7ebbe7-f2ed-4485-97f5-a414a072df60" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears_73be0117-7b71-4052-ba29-863b03a62537" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears_a8a30457-2663-473b-bd19-e48354c1f629" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears"/>
    <link:calculationArc order="2" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived_1f7ebbe7-f2ed-4485-97f5-a414a072df60" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears_a8a30457-2663-473b-bd19-e48354c1f629" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears_29820863-a484-4006-b22c-34512d513fc4" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears"/>
    <link:calculationArc order="3" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived_1f7ebbe7-f2ed-4485-97f5-a414a072df60" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears_29820863-a484-4006-b22c-34512d513fc4" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFiveYears_abba5341-852b-4478-894c-f4be48281bda" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedFiveYears"/>
    <link:calculationArc order="4" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived_1f7ebbe7-f2ed-4485-97f5-a414a072df60" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFiveYears_abba5341-852b-4478-894c-f4be48281bda" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThereafter_db3437d0-0fba-4318-acf6-826f9c61e4f3" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedThereafter"/>
    <link:calculationArc order="5" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived_1f7ebbe7-f2ed-4485-97f5-a414a072df60" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThereafter_db3437d0-0fba-4318-acf6-826f9c61e4f3" xlink:type="arc"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths_18c67527-1862-4019-89e7-d108d135c4d5" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths"/>
    <link:calculationArc order="6" weight="1.0" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived_1f7ebbe7-f2ed-4485-97f5-a414a072df60" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths_18c67527-1862-4019-89e7-d108d135c4d5" xlink:type="arc"/>
  </link:calculationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareBasedCompensation" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareBasedCompensation"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/ShareBasedCompensation" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareBasedCompensationTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareBasedCompensationTables"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/ShareBasedCompensationTables" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareBasedCompensationDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareBasedCompensationDetail"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/ShareBasedCompensationDetail" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/SegmentandRelatedInformation" xlink:type="simple" xlink:href="tyl-20200331.xsd#SegmentandRelatedInformation"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/SegmentandRelatedInformation" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/SegmentandRelatedInformationTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#SegmentandRelatedInformationTables"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/SegmentandRelatedInformationTables" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/SegmentandRelatedInformationAdditionalInformationDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#SegmentandRelatedInformationAdditionalInformationDetail"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/SegmentandRelatedInformationAdditionalInformationDetail" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/DisaggregationofRevenue" xlink:type="simple" xlink:href="tyl-20200331.xsd#DisaggregationofRevenue"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/DisaggregationofRevenue" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/DisaggregationofRevenueTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#DisaggregationofRevenueTables"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/DisaggregationofRevenueTables" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/DisaggregationofRevenueDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#DisaggregationofRevenueDetails"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/DisaggregationofRevenueDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/DisaggregationofRevenueAdditionalInformationDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#DisaggregationofRevenueAdditionalInformationDetails"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/DisaggregationofRevenueAdditionalInformationDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligations" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredRevenueandPerformanceObligations"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligations" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredRevenueandPerformanceObligationsTables"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsTables" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredRevenueandPerformanceObligationsDeferredRevenueDetails"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredRevenueandPerformanceObligationsAdditionalInformationDetails"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails_1" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredRevenueandPerformanceObligationsAdditionalInformationDetails_1"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/CommitmentsandContingencies" xlink:type="simple" xlink:href="tyl-20200331.xsd#CommitmentsandContingencies"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/CommitmentsandContingencies" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/CommitmentsandContingenciesDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#CommitmentsandContingenciesDetail"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/CommitmentsandContingenciesDetail" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/SubsequentEvents" xlink:type="simple" xlink:href="tyl-20200331.xsd#SubsequentEvents"/>
  <link:calculationLink xlink:role="http://www.tylertech.com/role/SubsequentEvents" xlink:type="extended"/>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>7
<FILENAME>tyl-20200331_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2020 Workiva-->
<!--r:9c0163e1-2bea-4e19-a373-e0f9503df286,g:86679952-cdda-4c06-ac05-01fb6f67268a-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain"/>
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/Cover" xlink:type="simple" xlink:href="tyl-20200331.xsd#Cover"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/Cover" xlink:type="extended" id="ic7d5f84bb5d043988e6102bca6ff3ed3_Cover"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" xlink:type="simple" xlink:href="tyl-20200331.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" xlink:type="extended" id="i99023c8c64ff4e319f577271bce1b021_CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenuesAbstract_bf6d56bc-a624-429a-8d66-05c4b8547031" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenuesAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_RevenuesAbstract_bf6d56bc-a624-429a-8d66-05c4b8547031" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_a068cc69-69b4-474b-983b-67a47d6cd54a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenuesAbstract_bf6d56bc-a624-429a-8d66-05c4b8547031" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_a068cc69-69b4-474b-983b-67a47d6cd54a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenueAbstract_ac12dbaf-e713-4a1a-9427-ab483e3b7a14" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfRevenueAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_CostOfRevenueAbstract_ac12dbaf-e713-4a1a-9427-ab483e3b7a14" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_5f457552-0d1a-4c8b-a833-4ccf5825b7bb" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CostOfRevenueAbstract_ac12dbaf-e713-4a1a-9427-ab483e3b7a14" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_5f457552-0d1a-4c8b-a833-4ccf5825b7bb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_409df176-d330-405a-a58d-25fb3fcd934a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_GrossProfit_409df176-d330-405a-a58d-25fb3fcd934a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_2b7e5e0c-2fcd-49f9-b896-d60ee782caef" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_2b7e5e0c-2fcd-49f9-b896-d60ee782caef" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost_aad333e3-bd5c-4400-aa5e-c6b021128e91" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost_aad333e3-bd5c-4400-aa5e-c6b021128e91" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets_73bb2de6-ead3-414c-9078-1959666d43a6" xlink:href="tyl-20200331.xsd#tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets_73bb2de6-ead3-414c-9078-1959666d43a6" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_9cea7e15-c8b7-4767-908f-326944d7432f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_OperatingIncomeLoss_9cea7e15-c8b7-4767-908f-326944d7432f" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_8e5e4be3-9f82-40cd-b7f2-8018a86b5d0f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_8e5e4be3-9f82-40cd-b7f2-8018a86b5d0f" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_99bc7230-083b-4897-b357-2030b26ab5a1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_99bc7230-083b-4897-b357-2030b26ab5a1" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_b7b39ca3-4d44-457d-8916-806d01589df1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_b7b39ca3-4d44-457d-8916-806d01589df1" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_cf819a64-6c3b-4e2d-8fa0-54013c4a098c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_NetIncomeLoss_cf819a64-6c3b-4e2d-8fa0-54013c4a098c" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_59e4fb0f-daac-44dc-93dc-4bbdfb07565c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_EarningsPerShareAbstract_59e4fb0f-daac-44dc-93dc-4bbdfb07565c" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_34c3fcf4-8e5c-4289-999a-7fa3321683a8" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EarningsPerShareAbstract_59e4fb0f-daac-44dc-93dc-4bbdfb07565c" xlink:to="loc_us-gaap_EarningsPerShareBasic_34c3fcf4-8e5c-4289-999a-7fa3321683a8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_ff2ffac8-025e-408f-bf51-131c8aeb03a2" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EarningsPerShareAbstract_59e4fb0f-daac-44dc-93dc-4bbdfb07565c" xlink:to="loc_us-gaap_EarningsPerShareDiluted_ff2ffac8-025e-408f-bf51-131c8aeb03a2" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_6273e935-3913-422d-bd92-3cc812b36459" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_StatementTable_6273e935-3913-422d-bd92-3cc812b36459" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_02b845b7-67eb-4cb3-a8c3-023a787db3df" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_6273e935-3913-422d-bd92-3cc812b36459" xlink:to="loc_srt_ProductOrServiceAxis_02b845b7-67eb-4cb3-a8c3-023a787db3df" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_02b845b7-67eb-4cb3-a8c3-023a787db3df_default" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_02b845b7-67eb-4cb3-a8c3-023a787db3df" xlink:to="loc_srt_ProductsAndServicesDomain_02b845b7-67eb-4cb3-a8c3-023a787db3df_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_7e9490fa-79a3-47ec-8051-8eef0f6e4c08" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_02b845b7-67eb-4cb3-a8c3-023a787db3df" xlink:to="loc_srt_ProductsAndServicesDomain_7e9490fa-79a3-47ec-8051-8eef0f6e4c08" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_SoftwareLicensesandRoyaltiesMember_5d766c6e-df95-453d-9e17-26ee25a092e9" xlink:href="tyl-20200331.xsd#tyl_SoftwareLicensesandRoyaltiesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_7e9490fa-79a3-47ec-8051-8eef0f6e4c08" xlink:to="loc_tyl_SoftwareLicensesandRoyaltiesMember_5d766c6e-df95-453d-9e17-26ee25a092e9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubscriptionAndCirculationMember_9f8ce7b9-531d-4eab-b7bc-7df467adb2ab" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubscriptionAndCirculationMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_7e9490fa-79a3-47ec-8051-8eef0f6e4c08" xlink:to="loc_us-gaap_SubscriptionAndCirculationMember_9f8ce7b9-531d-4eab-b7bc-7df467adb2ab" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AcquiredSoftwareMember_57bd75a1-657d-4811-8626-ed220b345abf" xlink:href="tyl-20200331.xsd#tyl_AcquiredSoftwareMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_7e9490fa-79a3-47ec-8051-8eef0f6e4c08" xlink:to="loc_tyl_AcquiredSoftwareMember_57bd75a1-657d-4811-8626-ed220b345abf" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TechnologyServiceMember_5a978df4-6193-4ae3-a1ef-a3cd52818a13" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TechnologyServiceMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_7e9490fa-79a3-47ec-8051-8eef0f6e4c08" xlink:to="loc_us-gaap_TechnologyServiceMember_5a978df4-6193-4ae3-a1ef-a3cd52818a13" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_SoftwareServicesMaintenanceandSubscriptionsMember_f71b09cc-d70f-445d-be4e-c421b579a51c" xlink:href="tyl-20200331.xsd#tyl_SoftwareServicesMaintenanceandSubscriptionsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_7e9490fa-79a3-47ec-8051-8eef0f6e4c08" xlink:to="loc_tyl_SoftwareServicesMaintenanceandSubscriptionsMember_f71b09cc-d70f-445d-be4e-c421b579a51c" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MaintenanceMember_a1e63fb4-b73b-472d-a7e4-a513cbf98ef8" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MaintenanceMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_7e9490fa-79a3-47ec-8051-8eef0f6e4c08" xlink:to="loc_us-gaap_MaintenanceMember_a1e63fb4-b73b-472d-a7e4-a513cbf98ef8" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AppraisalServicesMember_1c6dfd01-fd57-4588-b77c-f207f382458d" xlink:href="tyl-20200331.xsd#tyl_AppraisalServicesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_7e9490fa-79a3-47ec-8051-8eef0f6e4c08" xlink:to="loc_tyl_AppraisalServicesMember_1c6dfd01-fd57-4588-b77c-f207f382458d" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_HardwareandOtherMember_fa37b6f6-80e1-4279-acf2-4b6910fc0d93" xlink:href="tyl-20200331.xsd#tyl_HardwareandOtherMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_7e9490fa-79a3-47ec-8051-8eef0f6e4c08" xlink:to="loc_tyl_HardwareandOtherMember_fa37b6f6-80e1-4279-acf2-4b6910fc0d93" xlink:type="arc" order="7"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" xlink:type="simple" xlink:href="tyl-20200331.xsd#CONDENSEDCONSOLIDATEDBALANCESHEETS"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" xlink:type="extended" id="i8aea1decb50b440192b80177f22639d1_CONDENSEDCONSOLIDATEDBALANCESHEETS"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" xlink:type="simple" xlink:href="tyl-20200331.xsd#CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" xlink:type="extended" id="i9413c76602494a6ca5df8a32c0fcf210_CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="simple" xlink:href="tyl-20200331.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="extended" id="i16a95f5269fd4591aeee82779092e28d_CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY" xlink:type="simple" xlink:href="tyl-20200331.xsd#CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY" xlink:type="extended" id="i201d83fe3dac4365a067795f3b733859_CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_d7b55dba-6d82-4e60-8fd2-38bccef15d36" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_d7b55dba-6d82-4e60-8fd2-38bccef15d36" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_de0c4e14-d4e8-46ea-8479-81793b5ea0c9" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_StockholdersEquity_de0c4e14-d4e8-46ea-8479-81793b5ea0c9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesIssued_ddb7d0d4-e05b-4050-9be1-163a331d3b6a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharesIssued"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_SharesIssued_ddb7d0d4-e05b-4050-9be1-163a331d3b6a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_5b25c396-3d82-4f78-a609-c921b4a73204" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_NetIncomeLoss_5b25c396-3d82-4f78-a609-c921b4a73204" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_adf8375a-e984-4627-850b-72ef3eeb6978" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_adf8375a-e984-4627-850b-72ef3eeb6978" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_c008b4db-812b-44e1-974b-4add4413dc81" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_c008b4db-812b-44e1-974b-4add4413dc81" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_f09e734f-93e9-4a62-a87d-eca6cee2cd35" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_f09e734f-93e9-4a62-a87d-eca6cee2cd35" xlink:type="arc" order="6"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_bc67e229-55f5-4f89-aa5f-5a02664bf583" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_bc67e229-55f5-4f89-aa5f-5a02664bf583" xlink:type="arc" order="7"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_725cb9ce-32e9-4c78-aea1-65ccc920abc9" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_725cb9ce-32e9-4c78-aea1-65ccc920abc9" xlink:type="arc" order="8"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_7b6777e5-48b9-45c8-ae49-14c90cf3a8e6" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_7b6777e5-48b9-45c8-ae49-14c90cf3a8e6" xlink:type="arc" order="9"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_22dbc3d9-e000-4c79-adab-875dc0dcb053" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_22dbc3d9-e000-4c79-adab-875dc0dcb053" xlink:type="arc" order="10"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValueAcquiredCostMethod_3dea0129-ed1c-4b43-97a0-e8a9c7723c64" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_TreasuryStockValueAcquiredCostMethod_3dea0129-ed1c-4b43-97a0-e8a9c7723c64" xlink:type="arc" order="11"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockSharesAcquired_046bd83a-4985-4226-8cb1-bcaeabb80f09" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockSharesAcquired"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_TreasuryStockSharesAcquired_046bd83a-4985-4226-8cb1-bcaeabb80f09" xlink:type="arc" order="12"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_ac9cc1e8-82a3-490d-a2e3-9a973307e37f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesIssued_752950bf-01ad-4fcd-87dc-0832b656371c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharesIssued"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_e8991b10-4230-450e-8e37-00977c42ec53" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_d7b55dba-6d82-4e60-8fd2-38bccef15d36" xlink:to="loc_us-gaap_StatementTable_e8991b10-4230-450e-8e37-00977c42ec53" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_51517d3a-d7b0-449d-895e-38c846dc9985" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_e8991b10-4230-450e-8e37-00977c42ec53" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_51517d3a-d7b0-449d-895e-38c846dc9985" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_51517d3a-d7b0-449d-895e-38c846dc9985_default" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_51517d3a-d7b0-449d-895e-38c846dc9985" xlink:to="loc_us-gaap_EquityComponentDomain_51517d3a-d7b0-449d-895e-38c846dc9985_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_50aaeec3-5a3c-4cdd-a2fb-bb16f41e6567" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_51517d3a-d7b0-449d-895e-38c846dc9985" xlink:to="loc_us-gaap_EquityComponentDomain_50aaeec3-5a3c-4cdd-a2fb-bb16f41e6567" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_157c9a9a-0bd5-4108-930f-3f258eeb2899" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_50aaeec3-5a3c-4cdd-a2fb-bb16f41e6567" xlink:to="loc_us-gaap_CommonStockMember_157c9a9a-0bd5-4108-930f-3f258eeb2899" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_55ebf2ba-9f58-43eb-b140-a02861cf8c58" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_50aaeec3-5a3c-4cdd-a2fb-bb16f41e6567" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_55ebf2ba-9f58-43eb-b140-a02861cf8c58" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_3684dfab-d511-4a63-979f-d8d5624d8e7e" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_50aaeec3-5a3c-4cdd-a2fb-bb16f41e6567" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_3684dfab-d511-4a63-979f-d8d5624d8e7e" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_f6daf6f0-9529-4546-9622-7587bf50a812" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_50aaeec3-5a3c-4cdd-a2fb-bb16f41e6567" xlink:to="loc_us-gaap_RetainedEarningsMember_f6daf6f0-9529-4546-9622-7587bf50a812" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockMember_e6c29aeb-d349-4c94-8e2a-6d5d151a28af" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_50aaeec3-5a3c-4cdd-a2fb-bb16f41e6567" xlink:to="loc_us-gaap_TreasuryStockMember_e6c29aeb-d349-4c94-8e2a-6d5d151a28af" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CumulativeEffectPeriodOfAdoptionAxis_b89505b0-9952-4d8a-8661-404b5b76cc55" xlink:href="tyl-20200331.xsd#tyl_CumulativeEffectPeriodOfAdoptionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_e8991b10-4230-450e-8e37-00977c42ec53" xlink:to="loc_tyl_CumulativeEffectPeriodOfAdoptionAxis_b89505b0-9952-4d8a-8661-404b5b76cc55" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CumulativeEffectPeriodOfAdoptionDomain_b89505b0-9952-4d8a-8661-404b5b76cc55_default" xlink:href="tyl-20200331.xsd#tyl_CumulativeEffectPeriodOfAdoptionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_tyl_CumulativeEffectPeriodOfAdoptionAxis_b89505b0-9952-4d8a-8661-404b5b76cc55" xlink:to="loc_tyl_CumulativeEffectPeriodOfAdoptionDomain_b89505b0-9952-4d8a-8661-404b5b76cc55_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CumulativeEffectPeriodOfAdoptionDomain_5b433162-d02b-4cec-bb1b-2cf64cd3dc7e" xlink:href="tyl-20200331.xsd#tyl_CumulativeEffectPeriodOfAdoptionDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_tyl_CumulativeEffectPeriodOfAdoptionAxis_b89505b0-9952-4d8a-8661-404b5b76cc55" xlink:to="loc_tyl_CumulativeEffectPeriodOfAdoptionDomain_5b433162-d02b-4cec-bb1b-2cf64cd3dc7e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CumulativeEffectPeriodOfAdoptionAdjustmentMember_7f904f36-805d-4cae-862b-618df9025973" xlink:href="tyl-20200331.xsd#tyl_CumulativeEffectPeriodOfAdoptionAdjustmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_tyl_CumulativeEffectPeriodOfAdoptionDomain_5b433162-d02b-4cec-bb1b-2cf64cd3dc7e" xlink:to="loc_tyl_CumulativeEffectPeriodOfAdoptionAdjustmentMember_7f904f36-805d-4cae-862b-618df9025973" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/BasisofPresentation" xlink:type="simple" xlink:href="tyl-20200331.xsd#BasisofPresentation"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/BasisofPresentation" xlink:type="extended" id="i222931f0ee0e4a1f8218e4258ac26e5f_BasisofPresentation"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPolicies" xlink:type="simple" xlink:href="tyl-20200331.xsd#AccountingStandardsandSignificantAccountingPolicies"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPolicies" xlink:type="extended" id="idc7d129bf07349df9ecf526ea917a6ce_AccountingStandardsandSignificantAccountingPolicies"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="tyl-20200331.xsd#AccountingStandardsandSignificantAccountingPoliciesPolicies"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesPolicies" xlink:type="extended" id="i0c980a7d372b4b25905ae32050a184c8_AccountingStandardsandSignificantAccountingPoliciesPolicies"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails" xlink:type="extended" id="i7171578dfd634dcfaf31cde4e5e0e1de_AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_656c88f9-ad2b-4a8c-973d-0e55a728ed5b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_RecurringRevenuePercentageOfTotalRevenue_9b1fbe37-54f6-436b-9a22-3d53fd2d3c96" xlink:href="tyl-20200331.xsd#tyl_RecurringRevenuePercentageOfTotalRevenue"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_656c88f9-ad2b-4a8c-973d-0e55a728ed5b" xlink:to="loc_tyl_RecurringRevenuePercentageOfTotalRevenue_9b1fbe37-54f6-436b-9a22-3d53fd2d3c96" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsAndShortTermInvestments_3626b60d-d78c-40e7-8d86-23bb487f7bf8" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsAndShortTermInvestments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_656c88f9-ad2b-4a8c-973d-0e55a728ed5b" xlink:to="loc_us-gaap_CashCashEquivalentsAndShortTermInvestments_3626b60d-d78c-40e7-8d86-23bb487f7bf8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_e49ecbab-9028-4d4a-af66-df11585e5a06" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_656c88f9-ad2b-4a8c-973d-0e55a728ed5b" xlink:to="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_e49ecbab-9028-4d4a-af66-df11585e5a06" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNet_bcc2d34f-019d-4f60-abc2-177ce7555caa" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_656c88f9-ad2b-4a8c-973d-0e55a728ed5b" xlink:to="loc_us-gaap_AccountsReceivableNet_bcc2d34f-019d-4f60-abc2-177ce7555caa" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_4c96a7ac-af45-4d90-bc59-0f95000e821c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_656c88f9-ad2b-4a8c-973d-0e55a728ed5b" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_4c96a7ac-af45-4d90-bc59-0f95000e821c" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_eda7ae16-2e5f-4411-a02e-6f0649c1f126" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_656c88f9-ad2b-4a8c-973d-0e55a728ed5b" xlink:to="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_eda7ae16-2e5f-4411-a02e-6f0649c1f126" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_f7193652-b69e-4863-90df-856e1e31629b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_eda7ae16-2e5f-4411-a02e-6f0649c1f126" xlink:to="loc_us-gaap_CreditFacilityAxis_f7193652-b69e-4863-90df-856e1e31629b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_f7193652-b69e-4863-90df-856e1e31629b_default" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CreditFacilityAxis_f7193652-b69e-4863-90df-856e1e31629b" xlink:to="loc_us-gaap_CreditFacilityDomain_f7193652-b69e-4863-90df-856e1e31629b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_7e1d4ef6-62dd-4fb7-b100-a23bf71cb880" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CreditFacilityAxis_f7193652-b69e-4863-90df-856e1e31629b" xlink:to="loc_us-gaap_CreditFacilityDomain_7e1d4ef6-62dd-4fb7-b100-a23bf71cb880" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_328504ad-d119-4d10-8bed-c1c515b7a4ca" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_7e1d4ef6-62dd-4fb7-b100-a23bf71cb880" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_328504ad-d119-4d10-8bed-c1c515b7a4ca" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_4e375224-d633-4395-a5a8-57d8bfa2cd41" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_eda7ae16-2e5f-4411-a02e-6f0649c1f126" xlink:to="loc_us-gaap_DebtInstrumentAxis_4e375224-d633-4395-a5a8-57d8bfa2cd41" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_4e375224-d633-4395-a5a8-57d8bfa2cd41_default" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_4e375224-d633-4395-a5a8-57d8bfa2cd41" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_4e375224-d633-4395-a5a8-57d8bfa2cd41_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_7547c29c-be9f-49ea-b773-833d69f5a71f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_4e375224-d633-4395-a5a8-57d8bfa2cd41" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_7547c29c-be9f-49ea-b773-833d69f5a71f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CreditAgreementMember_330cfcd8-fdfe-4171-a34b-8ca4fc422839" xlink:href="tyl-20200331.xsd#tyl_CreditAgreementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_7547c29c-be9f-49ea-b773-833d69f5a71f" xlink:to="loc_tyl_CreditAgreementMember_330cfcd8-fdfe-4171-a34b-8ca4fc422839" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_9242b22d-39f5-4b9f-9eea-4648bba9580b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_eda7ae16-2e5f-4411-a02e-6f0649c1f126" xlink:to="loc_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_9242b22d-39f5-4b9f-9eea-4648bba9580b" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivableTypeDomain_9242b22d-39f5-4b9f-9eea-4648bba9580b_default" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivableTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_9242b22d-39f5-4b9f-9eea-4648bba9580b" xlink:to="loc_us-gaap_ReceivableTypeDomain_9242b22d-39f5-4b9f-9eea-4648bba9580b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivableTypeDomain_2f444a0c-db38-4b2b-b786-eee7b57c44b3" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivableTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_9242b22d-39f5-4b9f-9eea-4648bba9580b" xlink:to="loc_us-gaap_ReceivableTypeDomain_2f444a0c-db38-4b2b-b786-eee7b57c44b3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_RetentionReceivableMember_78607cb3-5252-4feb-8792-4dac7cec283c" xlink:href="tyl-20200331.xsd#tyl_RetentionReceivableMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ReceivableTypeDomain_2f444a0c-db38-4b2b-b786-eee7b57c44b3" xlink:to="loc_tyl_RetentionReceivableMember_78607cb3-5252-4feb-8792-4dac7cec283c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_b781aadf-234e-4a33-a053-c7c1fa1fd377" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_eda7ae16-2e5f-4411-a02e-6f0649c1f126" xlink:to="loc_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_b781aadf-234e-4a33-a053-c7c1fa1fd377" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesBillingStatusDomain_b781aadf-234e-4a33-a053-c7c1fa1fd377_default" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivablesBillingStatusDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_b781aadf-234e-4a33-a053-c7c1fa1fd377" xlink:to="loc_us-gaap_ReceivablesBillingStatusDomain_b781aadf-234e-4a33-a053-c7c1fa1fd377_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesBillingStatusDomain_a8aa6c80-83be-4475-9f62-feb8947b1b6c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivablesBillingStatusDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_b781aadf-234e-4a33-a053-c7c1fa1fd377" xlink:to="loc_us-gaap_ReceivablesBillingStatusDomain_a8aa6c80-83be-4475-9f62-feb8947b1b6c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnbilledRevenuesMember_3bbb5c60-a2e4-46f3-a7e3-cd547e85228c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnbilledRevenuesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ReceivablesBillingStatusDomain_a8aa6c80-83be-4475-9f62-feb8947b1b6c" xlink:to="loc_us-gaap_UnbilledRevenuesMember_3bbb5c60-a2e4-46f3-a7e3-cd547e85228c" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/Acquisitions" xlink:type="simple" xlink:href="tyl-20200331.xsd#Acquisitions"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/Acquisitions" xlink:type="extended" id="i47abf469b7c240e4be1ee00583b5ffc4_Acquisitions"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/AcquisitionsNarrativeDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#AcquisitionsNarrativeDetails"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/AcquisitionsNarrativeDetails" xlink:type="extended" id="if03a275ba53d40beb5de7793daa23fa9_AcquisitionsNarrativeDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_cfb68813-ea29-4699-82dd-c9644f6b86b7" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_bbb4582f-23ee-41dc-b4a8-28c296d7e02b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_cfb68813-ea29-4699-82dd-c9644f6b86b7" xlink:to="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_bbb4582f-23ee-41dc-b4a8-28c296d7e02b" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_24a79bc0-595a-46d5-af96-a2297eedf2fa" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_cfb68813-ea29-4699-82dd-c9644f6b86b7" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_24a79bc0-595a-46d5-af96-a2297eedf2fa" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_62d148d6-3a7d-4554-893d-4b5f6b3cce9d" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_24a79bc0-595a-46d5-af96-a2297eedf2fa" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_62d148d6-3a7d-4554-893d-4b5f6b3cce9d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_62d148d6-3a7d-4554-893d-4b5f6b3cce9d_default" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_62d148d6-3a7d-4554-893d-4b5f6b3cce9d" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_62d148d6-3a7d-4554-893d-4b5f6b3cce9d_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_b9745969-e475-4b15-a458-b1fa57920dfc" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_62d148d6-3a7d-4554-893d-4b5f6b3cce9d" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_b9745969-e475-4b15-a458-b1fa57920dfc" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_MPHoldingsParentInc.dbaMicroPactMember_6296f4ad-1be6-4766-a3b4-e7a7cf31fff3" xlink:href="tyl-20200331.xsd#tyl_MPHoldingsParentInc.dbaMicroPactMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_b9745969-e475-4b15-a458-b1fa57920dfc" xlink:to="loc_tyl_MPHoldingsParentInc.dbaMicroPactMember_6296f4ad-1be6-4766-a3b4-e7a7cf31fff3" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareholdersEquity" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareholdersEquity"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/ShareholdersEquity" xlink:type="extended" id="i5c6ad80a35744596a132922742659798_ShareholdersEquity"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareholdersEquityTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareholdersEquityTables"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/ShareholdersEquityTables" xlink:type="extended" id="i4c746594523749e3bf4827466a5e84b4_ShareholdersEquityTables"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareholdersEquitySummaryofActivitiesinCommonStockDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareholdersEquitySummaryofActivitiesinCommonStockDetail"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/ShareholdersEquitySummaryofActivitiesinCommonStockDetail" xlink:type="extended" id="ie7c95c0c841c4308a84538ca5752c8ac_ShareholdersEquitySummaryofActivitiesinCommonStockDetail"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareholdersEquityAdditionalInformationDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareholdersEquityAdditionalInformationDetail"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/ShareholdersEquityAdditionalInformationDetail" xlink:type="extended" id="i8e8e366bc1714103bbf66a17c82cecdc_ShareholdersEquityAdditionalInformationDetail"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredCommissions" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredCommissions"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/DeferredCommissions" xlink:type="extended" id="iabf0212b21c6407ca3e17fc88b951861_DeferredCommissions"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredCommissionsDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredCommissionsDetails"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/DeferredCommissionsDetails" xlink:type="extended" id="ia2a430a277644a93a5c9094c8c19ca53_DeferredCommissionsDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostLineItems_e36052ae-0823-4606-9a38-82411cb5b607" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_SalesCommissionsAmortizationPeriod_838668c8-526d-4437-bef5-fbb92b28f460" xlink:href="tyl-20200331.xsd#tyl_SalesCommissionsAmortizationPeriod"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_e36052ae-0823-4606-9a38-82411cb5b607" xlink:to="loc_tyl_SalesCommissionsAmortizationPeriod_838668c8-526d-4437-bef5-fbb92b28f460" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNet_49fc8e89-55e1-4564-8329-3b122ecdf271" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostNet"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_e36052ae-0823-4606-9a38-82411cb5b607" xlink:to="loc_us-gaap_CapitalizedContractCostNet_49fc8e89-55e1-4564-8329-3b122ecdf271" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortization_5bcbdb4f-d7f2-40e1-a089-ccb050b67ce2" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostAmortization"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_e36052ae-0823-4606-9a38-82411cb5b607" xlink:to="loc_us-gaap_CapitalizedContractCostAmortization_5bcbdb4f-d7f2-40e1-a089-ccb050b67ce2" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostImpairmentLoss_51829cfe-3cb0-42ef-94f4-ed379595234a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostImpairmentLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_e36052ae-0823-4606-9a38-82411cb5b607" xlink:to="loc_us-gaap_CapitalizedContractCostImpairmentLoss_51829cfe-3cb0-42ef-94f4-ed379595234a" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostTable_43b596a8-a376-49b9-8e99-c225fcec3598" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_e36052ae-0823-4606-9a38-82411cb5b607" xlink:to="loc_us-gaap_CapitalizedContractCostTable_43b596a8-a376-49b9-8e99-c225fcec3598" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_d00b6a8c-786e-43f6-8b06-e1fc5e609ce3" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_CapitalizedContractCostTable_43b596a8-a376-49b9-8e99-c225fcec3598" xlink:to="loc_srt_RangeAxis_d00b6a8c-786e-43f6-8b06-e1fc5e609ce3" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_d00b6a8c-786e-43f6-8b06-e1fc5e609ce3_default" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_d00b6a8c-786e-43f6-8b06-e1fc5e609ce3" xlink:to="loc_srt_RangeMember_d00b6a8c-786e-43f6-8b06-e1fc5e609ce3_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_85c35324-365f-4a8e-a936-890f2743de28" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_d00b6a8c-786e-43f6-8b06-e1fc5e609ce3" xlink:to="loc_srt_RangeMember_85c35324-365f-4a8e-a936-890f2743de28" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_65524fb8-2f20-4d44-93dc-904ff207df43" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_85c35324-365f-4a8e-a936-890f2743de28" xlink:to="loc_srt_MinimumMember_65524fb8-2f20-4d44-93dc-904ff207df43" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_1eb715f4-754e-4d65-88c3-9e3a261bdec7" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_85c35324-365f-4a8e-a936-890f2743de28" xlink:to="loc_srt_MaximumMember_1eb715f4-754e-4d65-88c3-9e3a261bdec7" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/OtherAssets" xlink:type="simple" xlink:href="tyl-20200331.xsd#OtherAssets"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/OtherAssets" xlink:type="extended" id="i29c83335c7cb43d8a4a45fd7ac90dc2d_OtherAssets"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/OtherAssetsDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#OtherAssetsDetail"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/OtherAssetsDetail" xlink:type="extended" id="i68f7e8d3aaaa4610bbe3d35154d8a466_OtherAssetsDetail">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_818059f3-4051-4c02-9e9d-052be5c7443e" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireHeldToMaturitySecurities_9a79bc7c-ad76-40f7-a719-35486c3c20e2" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_818059f3-4051-4c02-9e9d-052be5c7443e" xlink:to="loc_us-gaap_PaymentsToAcquireHeldToMaturitySecurities_9a79bc7c-ad76-40f7-a719-35486c3c20e2" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestReceivable_ffea6ed3-b2af-4f70-bc26-65f24cffa9cd" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestReceivable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_818059f3-4051-4c02-9e9d-052be5c7443e" xlink:to="loc_us-gaap_InterestReceivable_ffea6ed3-b2af-4f70-bc26-65f24cffa9cd" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfEquityMethodInvestments_bc7268cd-7295-4420-ba72-3754ecdd20de" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_818059f3-4051-4c02-9e9d-052be5c7443e" xlink:to="loc_us-gaap_ProceedsFromSaleOfEquityMethodInvestments_bc7268cd-7295-4420-ba72-3754ecdd20de" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityMethodInvestmentOwnershipPercentage_b9f6e8cb-949d-4965-802c-966c9d7216d1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_818059f3-4051-4c02-9e9d-052be5c7443e" xlink:to="loc_us-gaap_EquityMethodInvestmentOwnershipPercentage_b9f6e8cb-949d-4965-802c-966c9d7216d1" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireEquityMethodInvestments_f2a48a43-0559-42e1-868c-6a175154bb39" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_818059f3-4051-4c02-9e9d-052be5c7443e" xlink:to="loc_us-gaap_PaymentsToAcquireEquityMethodInvestments_f2a48a43-0559-42e1-868c-6a175154bb39" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEquityMethodInvestmentsTable_72d35211-80fe-4418-a81c-c53e35502edb" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_818059f3-4051-4c02-9e9d-052be5c7443e" xlink:to="loc_us-gaap_ScheduleOfEquityMethodInvestmentsTable_72d35211-80fe-4418-a81c-c53e35502edb" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_6f7dc4b3-7916-402a-8d62-14e7db94a57f" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEquityMethodInvestmentsTable_72d35211-80fe-4418-a81c-c53e35502edb" xlink:to="loc_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_6f7dc4b3-7916-402a-8d62-14e7db94a57f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_EquityMethodInvesteeNameDomain_6f7dc4b3-7916-402a-8d62-14e7db94a57f_default" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_EquityMethodInvesteeNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_6f7dc4b3-7916-402a-8d62-14e7db94a57f" xlink:to="loc_srt_EquityMethodInvesteeNameDomain_6f7dc4b3-7916-402a-8d62-14e7db94a57f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_EquityMethodInvesteeNameDomain_f525975e-5049-45d0-bb85-cb67f8223fc9" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_EquityMethodInvesteeNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_6f7dc4b3-7916-402a-8d62-14e7db94a57f" xlink:to="loc_srt_EquityMethodInvesteeNameDomain_f525975e-5049-45d0-bb85-cb67f8223fc9" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_RecordHoldingsPtyLimitedMember_4ff43e63-a029-42b1-8712-70d0e5a8b0ef" xlink:href="tyl-20200331.xsd#tyl_RecordHoldingsPtyLimitedMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_EquityMethodInvesteeNameDomain_f525975e-5049-45d0-bb85-cb67f8223fc9" xlink:to="loc_tyl_RecordHoldingsPtyLimitedMember_4ff43e63-a029-42b1-8712-70d0e5a8b0ef" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/RevolvingLineofCredit" xlink:type="simple" xlink:href="tyl-20200331.xsd#RevolvingLineofCredit"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/RevolvingLineofCredit" xlink:type="extended" id="i30ee446eb9fc4e55a06cdafac191f168_RevolvingLineofCredit"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/RevolvingLineofCreditDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#RevolvingLineofCreditDetail"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/RevolvingLineofCreditDetail" xlink:type="extended" id="i41c9f58a008e4ba08ba80375c314285c_RevolvingLineofCreditDetail">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLineItems_b4b618a0-d2ad-4b3d-979b-686620df3a1b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_5f08cf19-1a33-482d-bd02-3dabc439c867" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_b4b618a0-d2ad-4b3d-979b-686620df3a1b" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_5f08cf19-1a33-482d-bd02-3dabc439c867" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_0654f08b-b954-412a-a955-b681e44176fa" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_b4b618a0-d2ad-4b3d-979b-686620df3a1b" xlink:to="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_0654f08b-b954-412a-a955-b681e44176fa" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage_e5c60c77-e10d-40a6-8371-e9cc71e12698" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_b4b618a0-d2ad-4b3d-979b-686620df3a1b" xlink:to="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage_e5c60c77-e10d-40a6-8371-e9cc71e12698" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermLineOfCredit_e17af909-2f5d-4a86-9e29-fd8b349d5a79" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermLineOfCredit"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_b4b618a0-d2ad-4b3d-979b-686620df3a1b" xlink:to="loc_us-gaap_LongTermLineOfCredit_e17af909-2f5d-4a86-9e29-fd8b349d5a79" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_52b627c5-3a41-4040-9038-acc6dffce3df" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_b4b618a0-d2ad-4b3d-979b-686620df3a1b" xlink:to="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_52b627c5-3a41-4040-9038-acc6dffce3df" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityTable_c70ada58-ad70-4065-9450-ad68cce113c7" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_b4b618a0-d2ad-4b3d-979b-686620df3a1b" xlink:to="loc_us-gaap_LineOfCreditFacilityTable_c70ada58-ad70-4065-9450-ad68cce113c7" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_e51888ed-f1bf-49f6-a6d4-366a15285399" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_c70ada58-ad70-4065-9450-ad68cce113c7" xlink:to="loc_us-gaap_CreditFacilityAxis_e51888ed-f1bf-49f6-a6d4-366a15285399" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_e51888ed-f1bf-49f6-a6d4-366a15285399_default" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CreditFacilityAxis_e51888ed-f1bf-49f6-a6d4-366a15285399" xlink:to="loc_us-gaap_CreditFacilityDomain_e51888ed-f1bf-49f6-a6d4-366a15285399_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_a2571382-bd75-4983-a03f-425f5e69b9e0" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CreditFacilityAxis_e51888ed-f1bf-49f6-a6d4-366a15285399" xlink:to="loc_us-gaap_CreditFacilityDomain_a2571382-bd75-4983-a03f-425f5e69b9e0" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_4a5b24b5-b9c2-4ffe-8355-4e54916a6a4d" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_CreditFacilityDomain_a2571382-bd75-4983-a03f-425f5e69b9e0" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_4a5b24b5-b9c2-4ffe-8355-4e54916a6a4d" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_9d846f3a-8200-4138-ad72-c9652526a648" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_c70ada58-ad70-4065-9450-ad68cce113c7" xlink:to="loc_us-gaap_DebtInstrumentAxis_9d846f3a-8200-4138-ad72-c9652526a648" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_9d846f3a-8200-4138-ad72-c9652526a648_default" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_DebtInstrumentAxis_9d846f3a-8200-4138-ad72-c9652526a648" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_9d846f3a-8200-4138-ad72-c9652526a648_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_7bd40e7a-9afd-4b7f-b13d-66e57e2c75aa" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_DebtInstrumentAxis_9d846f3a-8200-4138-ad72-c9652526a648" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_7bd40e7a-9afd-4b7f-b13d-66e57e2c75aa" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CreditAgreementMember_fcbe5a8b-57f7-4473-910d-affe939d8755" xlink:href="tyl-20200331.xsd#tyl_CreditAgreementMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_7bd40e7a-9afd-4b7f-b13d-66e57e2c75aa" xlink:to="loc_tyl_CreditAgreementMember_fcbe5a8b-57f7-4473-910d-affe939d8755" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermDebtTypeAxis_f262096b-d4be-42b4-8c08-a19e6105c5f0" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermDebtTypeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_c70ada58-ad70-4065-9450-ad68cce113c7" xlink:to="loc_us-gaap_ShortTermDebtTypeAxis_f262096b-d4be-42b4-8c08-a19e6105c5f0" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermDebtTypeDomain_f262096b-d4be-42b4-8c08-a19e6105c5f0_default" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ShortTermDebtTypeAxis_f262096b-d4be-42b4-8c08-a19e6105c5f0" xlink:to="loc_us-gaap_ShortTermDebtTypeDomain_f262096b-d4be-42b4-8c08-a19e6105c5f0_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermDebtTypeDomain_59e2ec27-b30b-4dd6-89b9-b58e628cfa60" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermDebtTypeDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ShortTermDebtTypeAxis_f262096b-d4be-42b4-8c08-a19e6105c5f0" xlink:to="loc_us-gaap_ShortTermDebtTypeDomain_59e2ec27-b30b-4dd6-89b9-b58e628cfa60" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LetterOfCreditMember_331a26d6-c743-4ca0-9cea-8197913ca3ff" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LetterOfCreditMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShortTermDebtTypeDomain_59e2ec27-b30b-4dd6-89b9-b58e628cfa60" xlink:to="loc_us-gaap_LetterOfCreditMember_331a26d6-c743-4ca0-9cea-8197913ca3ff" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_59f063da-6b6a-47f8-b1c7-b450b2ad5b96" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_c70ada58-ad70-4065-9450-ad68cce113c7" xlink:to="loc_srt_RangeAxis_59f063da-6b6a-47f8-b1c7-b450b2ad5b96" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_59f063da-6b6a-47f8-b1c7-b450b2ad5b96_default" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_59f063da-6b6a-47f8-b1c7-b450b2ad5b96" xlink:to="loc_srt_RangeMember_59f063da-6b6a-47f8-b1c7-b450b2ad5b96_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_66e3de44-a24a-4c7c-9667-964ae33b3bad" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_59f063da-6b6a-47f8-b1c7-b450b2ad5b96" xlink:to="loc_srt_RangeMember_66e3de44-a24a-4c7c-9667-964ae33b3bad" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_d28f5b89-8fad-40cb-a706-4519b11aa1da" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_66e3de44-a24a-4c7c-9667-964ae33b3bad" xlink:to="loc_srt_MinimumMember_d28f5b89-8fad-40cb-a706-4519b11aa1da" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_76fc3800-c757-40f7-b3f1-f79a2ef9abf1" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_66e3de44-a24a-4c7c-9667-964ae33b3bad" xlink:to="loc_srt_MaximumMember_76fc3800-c757-40f7-b3f1-f79a2ef9abf1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_343fdfd8-810b-40a6-a9c4-7be201bbce56" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_c70ada58-ad70-4065-9450-ad68cce113c7" xlink:to="loc_us-gaap_VariableRateAxis_343fdfd8-810b-40a6-a9c4-7be201bbce56" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_343fdfd8-810b-40a6-a9c4-7be201bbce56_default" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_VariableRateAxis_343fdfd8-810b-40a6-a9c4-7be201bbce56" xlink:to="loc_us-gaap_VariableRateDomain_343fdfd8-810b-40a6-a9c4-7be201bbce56_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_5b89c3f5-c249-4a5e-9645-fa5872628fad" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_VariableRateAxis_343fdfd8-810b-40a6-a9c4-7be201bbce56" xlink:to="loc_us-gaap_VariableRateDomain_5b89c3f5-c249-4a5e-9645-fa5872628fad" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrimeRateMember_b58ea10b-20f2-428e-9ad4-ca0d1c9e8df4" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrimeRateMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_5b89c3f5-c249-4a5e-9645-fa5872628fad" xlink:to="loc_us-gaap_PrimeRateMember_b58ea10b-20f2-428e-9ad4-ca0d1c9e8df4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_5d77b59d-5c3f-49af-817a-e6e906c52b93" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_VariableRateDomain_5b89c3f5-c249-4a5e-9645-fa5872628fad" xlink:to="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_5d77b59d-5c3f-49af-817a-e6e906c52b93" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/IncomeTaxProvision" xlink:type="simple" xlink:href="tyl-20200331.xsd#IncomeTaxProvision"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/IncomeTaxProvision" xlink:type="extended" id="i144288d48921479c915988896113aa9e_IncomeTaxProvision"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/IncomeTaxProvisionDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#IncomeTaxProvisionDetail"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/IncomeTaxProvisionDetail" xlink:type="extended" id="i7ca5675f9f7943e88619e3eaadaa27ec_IncomeTaxProvisionDetail"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/EarningsPerShare" xlink:type="simple" xlink:href="tyl-20200331.xsd#EarningsPerShare"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/EarningsPerShare" xlink:type="extended" id="i013f6c9612eb41a5abacbbd66eba3341_EarningsPerShare"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/EarningsPerShareTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#EarningsPerShareTables"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/EarningsPerShareTables" xlink:type="extended" id="i855e2ea612ba45edb488d0e1d4ab2708_EarningsPerShareTables"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail" xlink:type="extended" id="ib29f69e48f974decb1bdc43a89dab2a0_EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/EarningsPerShareAdditionalInformationDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#EarningsPerShareAdditionalInformationDetail"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/EarningsPerShareAdditionalInformationDetail" xlink:type="extended" id="i9a10a3e12b5043eda079005074cfe92b_EarningsPerShareAdditionalInformationDetail"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/Leases" xlink:type="simple" xlink:href="tyl-20200331.xsd#Leases"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/Leases" xlink:type="extended" id="i53bbe30278244c99963761542ff6901e_Leases"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesTables"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/LeasesTables" xlink:type="extended" id="ib92a8ed6709f4c56baa47f63c1f8f104_LeasesTables"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesAdditionalInformationDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesAdditionalInformationDetails"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/LeasesAdditionalInformationDetails" xlink:type="extended" id="i7543b0fd2b0e4f5c839eeccdb4c9d47f_LeasesAdditionalInformationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems_080ebf66-1ef0-437f-84bf-cff72c5e5d1d" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseTermOfContract_7cb11363-0e03-4b3f-be77-7ea425c50d0a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseTermOfContract"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_080ebf66-1ef0-437f-84bf-cff72c5e5d1d" xlink:to="loc_us-gaap_LesseeOperatingLeaseTermOfContract_7cb11363-0e03-4b3f-be77-7ea425c50d0a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseRenewalTerm_0d0ccff6-f15f-4d36-b89f-0b187a510321" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_080ebf66-1ef0-437f-84bf-cff72c5e5d1d" xlink:to="loc_us-gaap_LesseeOperatingLeaseRenewalTerm_0d0ccff6-f15f-4d36-b89f-0b187a510321" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost_17999512-bfa6-4ae0-9b83-7585a4dbe75a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCost"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_080ebf66-1ef0-437f-84bf-cff72c5e5d1d" xlink:to="loc_us-gaap_LeaseCost_17999512-bfa6-4ae0-9b83-7585a4dbe75a" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeaseRenewalTerm_8c63cf62-b43a-4a9e-b942-65fbbe316903" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeaseRenewalTerm"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_080ebf66-1ef0-437f-84bf-cff72c5e5d1d" xlink:to="loc_us-gaap_LessorOperatingLeaseRenewalTerm_8c63cf62-b43a-4a9e-b942-65fbbe316903" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RentalIncomeNonoperating_e7691fdc-fce7-4aff-ae1c-b2ba57b6ed2b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RentalIncomeNonoperating"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_080ebf66-1ef0-437f-84bf-cff72c5e5d1d" xlink:to="loc_us-gaap_RentalIncomeNonoperating_e7691fdc-fce7-4aff-ae1c-b2ba57b6ed2b" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable_2684353f-c4ee-4e9e-b39a-621fc92855b8" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_080ebf66-1ef0-437f-84bf-cff72c5e5d1d" xlink:to="loc_us-gaap_LesseeLeaseDescriptionTable_2684353f-c4ee-4e9e-b39a-621fc92855b8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_7655dbd3-61e8-436c-8a56-c09242430b00" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_2684353f-c4ee-4e9e-b39a-621fc92855b8" xlink:to="loc_srt_RangeAxis_7655dbd3-61e8-436c-8a56-c09242430b00" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_7655dbd3-61e8-436c-8a56-c09242430b00_default" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_7655dbd3-61e8-436c-8a56-c09242430b00" xlink:to="loc_srt_RangeMember_7655dbd3-61e8-436c-8a56-c09242430b00_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_af7c9dae-c6d7-47c7-9044-ac17a769d4d1" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_7655dbd3-61e8-436c-8a56-c09242430b00" xlink:to="loc_srt_RangeMember_af7c9dae-c6d7-47c7-9044-ac17a769d4d1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_1a0210db-24a4-4d41-9a5a-e9c143af7b8a" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_af7c9dae-c6d7-47c7-9044-ac17a769d4d1" xlink:to="loc_srt_MinimumMember_1a0210db-24a4-4d41-9a5a-e9c143af7b8a" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_9e2673d5-09df-474b-a764-fd27220c21b4" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_af7c9dae-c6d7-47c7-9044-ac17a769d4d1" xlink:to="loc_srt_MaximumMember_9e2673d5-09df-474b-a764-fd27220c21b4" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesScheduleofleasecostDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesScheduleofleasecostDetails"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/LeasesScheduleofleasecostDetails" xlink:type="extended" id="ic47fb0d7c56249dc88e39d2a645d3b1d_LeasesScheduleofleasecostDetails"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesScheduleofleasesassetsandliabilitiesDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesScheduleofleasesassetsandliabilitiesDetails"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/LeasesScheduleofleasesassetsandliabilitiesDetails" xlink:type="extended" id="ib44be1b892d84bb3af8d308410e26888_LeasesScheduleofleasesassetsandliabilitiesDetails"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesScheduleofotherinformationrelatedtoleasesDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesScheduleofotherinformationrelatedtoleasesDetails"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/LeasesScheduleofotherinformationrelatedtoleasesDetails" xlink:type="extended" id="i7018d1d2d4414c7f9d8c7f50c2a7bef3_LeasesScheduleofotherinformationrelatedtoleasesDetails"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesMaturityofleaseliabilitiesDetails"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails" xlink:type="extended" id="ic235feeab99741dea53d6f45f54a256b_LeasesMaturityofleaseliabilitiesDetails"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesScheduleoffutureminimumoperatingrentalincomeDetails"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails" xlink:type="extended" id="ib1be0f892ae94c0b9e872b9a30f53f75_LeasesScheduleoffutureminimumoperatingrentalincomeDetails"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareBasedCompensation" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareBasedCompensation"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/ShareBasedCompensation" xlink:type="extended" id="i0c5df72c73414009a598bfd51f7595cf_ShareBasedCompensation"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareBasedCompensationTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareBasedCompensationTables"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/ShareBasedCompensationTables" xlink:type="extended" id="if584283faf214ba7b0498731273177a4_ShareBasedCompensationTables"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareBasedCompensationDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareBasedCompensationDetail"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/ShareBasedCompensationDetail" xlink:type="extended" id="i71bad41b8c644902a4a957dd6d0e5c6d_ShareBasedCompensationDetail">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_587f17a1-4623-47b4-aaed-ad7ef0749efc" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_f6748cae-4003-4914-a64c-91079bd9a911" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_587f17a1-4623-47b4-aaed-ad7ef0749efc" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_f6748cae-4003-4914-a64c-91079bd9a911" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_664d6654-e91d-42f5-ab35-63121b72e9ee" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_587f17a1-4623-47b4-aaed-ad7ef0749efc" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_664d6654-e91d-42f5-ab35-63121b72e9ee" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_4fc20ce0-3ce5-4011-a1a2-2ef2131fb11e" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_664d6654-e91d-42f5-ab35-63121b72e9ee" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_4fc20ce0-3ce5-4011-a1a2-2ef2131fb11e" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_4fc20ce0-3ce5-4011-a1a2-2ef2131fb11e_default" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_4fc20ce0-3ce5-4011-a1a2-2ef2131fb11e" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_4fc20ce0-3ce5-4011-a1a2-2ef2131fb11e_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_f42fac43-d981-49d3-8c50-dc31d35af287" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_4fc20ce0-3ce5-4011-a1a2-2ef2131fb11e" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_f42fac43-d981-49d3-8c50-dc31d35af287" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember_cb407343-edf3-414a-b6b6-4fed27938830" xlink:href="tyl-20200331.xsd#tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_f42fac43-d981-49d3-8c50-dc31d35af287" xlink:to="loc_tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember_cb407343-edf3-414a-b6b6-4fed27938830" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_be849b87-753b-4c70-bfaa-75212381a719" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_f42fac43-d981-49d3-8c50-dc31d35af287" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_be849b87-753b-4c70-bfaa-75212381a719" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/SegmentandRelatedInformation" xlink:type="simple" xlink:href="tyl-20200331.xsd#SegmentandRelatedInformation"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/SegmentandRelatedInformation" xlink:type="extended" id="ibea7cb75273c4a2c8479550f7e0a097c_SegmentandRelatedInformation"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/SegmentandRelatedInformationTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#SegmentandRelatedInformationTables"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/SegmentandRelatedInformationTables" xlink:type="extended" id="i9b942418fbfc4fb980fa601f6480853c_SegmentandRelatedInformationTables"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/SegmentandRelatedInformationAdditionalInformationDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#SegmentandRelatedInformationAdditionalInformationDetail"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/SegmentandRelatedInformationAdditionalInformationDetail" xlink:type="extended" id="i1fa08c7f0de4451487220d768ab9cc17_SegmentandRelatedInformationAdditionalInformationDetail">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_a6efa17c-d275-4612-a980-efb33a5ee0db" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_NumberOfBusinessUnits_46291916-f8b6-4112-8014-247791169044" xlink:href="tyl-20200331.xsd#tyl_NumberOfBusinessUnits"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_a6efa17c-d275-4612-a980-efb33a5ee0db" xlink:to="loc_tyl_NumberOfBusinessUnits_46291916-f8b6-4112-8014-247791169044" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments_56bec3ce-65e9-4863-b4a9-fd9a8e103d26" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NumberOfReportableSegments"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_a6efa17c-d275-4612-a980-efb33a5ee0db" xlink:to="loc_us-gaap_NumberOfReportableSegments_56bec3ce-65e9-4863-b4a9-fd9a8e103d26" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_7ee8c624-1fdf-4166-96c2-7f7ffa9e74b8" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_a6efa17c-d275-4612-a980-efb33a5ee0db" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_7ee8c624-1fdf-4166-96c2-7f7ffa9e74b8" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_9b946b95-d2c4-4f08-9d3a-c8c6432b9958" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_7ee8c624-1fdf-4166-96c2-7f7ffa9e74b8" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_9b946b95-d2c4-4f08-9d3a-c8c6432b9958" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_9b946b95-d2c4-4f08-9d3a-c8c6432b9958_default" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_9b946b95-d2c4-4f08-9d3a-c8c6432b9958" xlink:to="loc_us-gaap_SegmentDomain_9b946b95-d2c4-4f08-9d3a-c8c6432b9958_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_bded4245-2474-426d-a31f-a6fc38da0a37" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_9b946b95-d2c4-4f08-9d3a-c8c6432b9958" xlink:to="loc_us-gaap_SegmentDomain_bded4245-2474-426d-a31f-a6fc38da0a37" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_EnterpriseSoftwareMember_4282dd80-4a14-467c-b86d-2d1fe1618413" xlink:href="tyl-20200331.xsd#tyl_EnterpriseSoftwareMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_bded4245-2474-426d-a31f-a6fc38da0a37" xlink:to="loc_tyl_EnterpriseSoftwareMember_4282dd80-4a14-467c-b86d-2d1fe1618413" xlink:type="arc" order="0"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail" xlink:type="extended" id="idf7583235404441783198cca991e9a24_SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_2a090247-c998-48af-80fa-d8ef7eb7793e" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_df8b44df-5a10-4ab2-ae51-08c0f11a0acc" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2a090247-c998-48af-80fa-d8ef7eb7793e" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_df8b44df-5a10-4ab2-ae51-08c0f11a0acc" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_7a3193ac-2771-442b-b550-b01fe0615e6a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2a090247-c998-48af-80fa-d8ef7eb7793e" xlink:to="loc_us-gaap_OperatingIncomeLoss_7a3193ac-2771-442b-b550-b01fe0615e6a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_efa700a2-81a3-4976-a227-739eff23cb68" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2a090247-c998-48af-80fa-d8ef7eb7793e" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_efa700a2-81a3-4976-a227-739eff23cb68" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_bc6610d9-c21d-4f78-9cb7-362b3bc4232b" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_efa700a2-81a3-4976-a227-739eff23cb68" xlink:to="loc_srt_ProductOrServiceAxis_bc6610d9-c21d-4f78-9cb7-362b3bc4232b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_bc6610d9-c21d-4f78-9cb7-362b3bc4232b_default" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_bc6610d9-c21d-4f78-9cb7-362b3bc4232b" xlink:to="loc_srt_ProductsAndServicesDomain_bc6610d9-c21d-4f78-9cb7-362b3bc4232b_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_de181d28-54da-46de-9a89-621ea8b62b3d" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_bc6610d9-c21d-4f78-9cb7-362b3bc4232b" xlink:to="loc_srt_ProductsAndServicesDomain_de181d28-54da-46de-9a89-621ea8b62b3d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LicenseMember_1deb444b-1bfd-4007-a56c-7e9ca97ad335" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LicenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_de181d28-54da-46de-9a89-621ea8b62b3d" xlink:to="loc_us-gaap_LicenseMember_1deb444b-1bfd-4007-a56c-7e9ca97ad335" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubscriptionAndCirculationMember_81ff175f-63ee-44c4-bf65-512b24f13af5" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubscriptionAndCirculationMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_de181d28-54da-46de-9a89-621ea8b62b3d" xlink:to="loc_us-gaap_SubscriptionAndCirculationMember_81ff175f-63ee-44c4-bf65-512b24f13af5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TechnologyServiceMember_f7519480-b2cd-46c1-ba97-225360546803" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TechnologyServiceMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_de181d28-54da-46de-9a89-621ea8b62b3d" xlink:to="loc_us-gaap_TechnologyServiceMember_f7519480-b2cd-46c1-ba97-225360546803" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MaintenanceMember_c30b3162-3844-4699-8b5d-4ab947b6b9f4" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MaintenanceMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_de181d28-54da-46de-9a89-621ea8b62b3d" xlink:to="loc_us-gaap_MaintenanceMember_c30b3162-3844-4699-8b5d-4ab947b6b9f4" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AppraisalServicesMember_34a5b161-ff46-4e8e-b226-676d37445e51" xlink:href="tyl-20200331.xsd#tyl_AppraisalServicesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_de181d28-54da-46de-9a89-621ea8b62b3d" xlink:to="loc_tyl_AppraisalServicesMember_34a5b161-ff46-4e8e-b226-676d37445e51" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductMember_17f337fd-294c-43f3-b9b8-0974cdc45e6b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_de181d28-54da-46de-9a89-621ea8b62b3d" xlink:to="loc_us-gaap_ProductMember_17f337fd-294c-43f3-b9b8-0974cdc45e6b" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_07afe044-a11e-4d6d-97de-597dcca4b209" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_efa700a2-81a3-4976-a227-739eff23cb68" xlink:to="loc_srt_ConsolidationItemsAxis_07afe044-a11e-4d6d-97de-597dcca4b209" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_07afe044-a11e-4d6d-97de-597dcca4b209_default" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ConsolidationItemsAxis_07afe044-a11e-4d6d-97de-597dcca4b209" xlink:to="loc_srt_ConsolidationItemsDomain_07afe044-a11e-4d6d-97de-597dcca4b209_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_ed0dd89c-e0ca-4bfe-9aa7-6bbfa6cb952b" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ConsolidationItemsAxis_07afe044-a11e-4d6d-97de-597dcca4b209" xlink:to="loc_srt_ConsolidationItemsDomain_ed0dd89c-e0ca-4bfe-9aa7-6bbfa6cb952b" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_e33d0d4f-0692-47ed-8c9c-7c97a5b44cfe" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_ed0dd89c-e0ca-4bfe-9aa7-6bbfa6cb952b" xlink:to="loc_us-gaap_OperatingSegmentsMember_e33d0d4f-0692-47ed-8c9c-7c97a5b44cfe" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntersegmentEliminationMember_09b9f74a-203b-4243-8c4b-b7c80a857f4d" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntersegmentEliminationMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_ed0dd89c-e0ca-4bfe-9aa7-6bbfa6cb952b" xlink:to="loc_us-gaap_IntersegmentEliminationMember_09b9f74a-203b-4243-8c4b-b7c80a857f4d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_d936ca86-b692-4a4c-b7ce-69aaf08301a7" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_ed0dd89c-e0ca-4bfe-9aa7-6bbfa6cb952b" xlink:to="loc_us-gaap_CorporateNonSegmentMember_d936ca86-b692-4a4c-b7ce-69aaf08301a7" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_OperatingSegmentsAndCorporateNonSegmentMember_d4a5a1e1-d673-47da-b882-7b0b29b36bb5" xlink:href="tyl-20200331.xsd#tyl_OperatingSegmentsAndCorporateNonSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_ed0dd89c-e0ca-4bfe-9aa7-6bbfa6cb952b" xlink:to="loc_tyl_OperatingSegmentsAndCorporateNonSegmentMember_d4a5a1e1-d673-47da-b882-7b0b29b36bb5" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_2bc589e8-0391-4374-9322-6634ed924bef" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_efa700a2-81a3-4976-a227-739eff23cb68" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_2bc589e8-0391-4374-9322-6634ed924bef" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_2bc589e8-0391-4374-9322-6634ed924bef_default" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_2bc589e8-0391-4374-9322-6634ed924bef" xlink:to="loc_us-gaap_SegmentDomain_2bc589e8-0391-4374-9322-6634ed924bef_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_16ed901d-ce49-4e39-93f5-f421c9467b40" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_2bc589e8-0391-4374-9322-6634ed924bef" xlink:to="loc_us-gaap_SegmentDomain_16ed901d-ce49-4e39-93f5-f421c9467b40" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_EnterpriseSoftwareMember_a273fbba-e79c-4f91-bc7b-eda392d452ec" xlink:href="tyl-20200331.xsd#tyl_EnterpriseSoftwareMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_16ed901d-ce49-4e39-93f5-f421c9467b40" xlink:to="loc_tyl_EnterpriseSoftwareMember_a273fbba-e79c-4f91-bc7b-eda392d452ec" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AppraisalAndTaxMember_a0076c6e-57ef-4846-87b9-b4f2c45cbd66" xlink:href="tyl-20200331.xsd#tyl_AppraisalAndTaxMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_16ed901d-ce49-4e39-93f5-f421c9467b40" xlink:to="loc_tyl_AppraisalAndTaxMember_a0076c6e-57ef-4846-87b9-b4f2c45cbd66" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail" xlink:type="extended" id="i3bfe0e541a974bc6bd4aa58c7751fc99_SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_a1792c6d-dec8-464b-9256-4eb4e72c8b04" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_03b1f460-1461-43fb-91c6-d304e81cad2c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_a1792c6d-dec8-464b-9256-4eb4e72c8b04" xlink:to="loc_us-gaap_OperatingIncomeLoss_03b1f460-1461-43fb-91c6-d304e81cad2c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_0b945734-21c1-42fc-bc35-01589ffc0d6a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_a1792c6d-dec8-464b-9256-4eb4e72c8b04" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_0b945734-21c1-42fc-bc35-01589ffc0d6a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_177d2995-bcfb-4a57-8656-732f69766671" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_a1792c6d-dec8-464b-9256-4eb4e72c8b04" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_177d2995-bcfb-4a57-8656-732f69766671" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_68f82025-2472-41fb-98a0-4bc26369e833" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_a1792c6d-dec8-464b-9256-4eb4e72c8b04" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_68f82025-2472-41fb-98a0-4bc26369e833" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_5d735a4d-7fca-4e85-a7e2-f655a77ed665" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_a1792c6d-dec8-464b-9256-4eb4e72c8b04" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_5d735a4d-7fca-4e85-a7e2-f655a77ed665" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_83ff5daf-e965-4517-ab93-7992cf5b7f30" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_5d735a4d-7fca-4e85-a7e2-f655a77ed665" xlink:to="loc_srt_ConsolidationItemsAxis_83ff5daf-e965-4517-ab93-7992cf5b7f30" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_83ff5daf-e965-4517-ab93-7992cf5b7f30_default" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ConsolidationItemsAxis_83ff5daf-e965-4517-ab93-7992cf5b7f30" xlink:to="loc_srt_ConsolidationItemsDomain_83ff5daf-e965-4517-ab93-7992cf5b7f30_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_6375ba00-c174-4b6e-9b9e-c4461988ea73" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ConsolidationItemsAxis_83ff5daf-e965-4517-ab93-7992cf5b7f30" xlink:to="loc_srt_ConsolidationItemsDomain_6375ba00-c174-4b6e-9b9e-c4461988ea73" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_OperatingSegmentsAndCorporateNonSegmentMember_a8ec2776-09df-443b-86b3-b1f81536aaff" xlink:href="tyl-20200331.xsd#tyl_OperatingSegmentsAndCorporateNonSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_6375ba00-c174-4b6e-9b9e-c4461988ea73" xlink:to="loc_tyl_OperatingSegmentsAndCorporateNonSegmentMember_a8ec2776-09df-443b-86b3-b1f81536aaff" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MaterialReconcilingItemsMember_797c4ed6-eba6-43de-b70b-3975574727e1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MaterialReconcilingItemsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_6375ba00-c174-4b6e-9b9e-c4461988ea73" xlink:to="loc_us-gaap_MaterialReconcilingItemsMember_797c4ed6-eba6-43de-b70b-3975574727e1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a758ed08-5eea-43dc-9623-14ab1e97eaee" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_5d735a4d-7fca-4e85-a7e2-f655a77ed665" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a758ed08-5eea-43dc-9623-14ab1e97eaee" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_a758ed08-5eea-43dc-9623-14ab1e97eaee_default" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a758ed08-5eea-43dc-9623-14ab1e97eaee" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_a758ed08-5eea-43dc-9623-14ab1e97eaee_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_74c81b56-4c1a-4c6a-850c-2670bcacd785" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a758ed08-5eea-43dc-9623-14ab1e97eaee" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_74c81b56-4c1a-4c6a-850c-2670bcacd785" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AcquiredSoftwareMember_89db126a-8b33-4965-a214-8866f251378c" xlink:href="tyl-20200331.xsd#tyl_AcquiredSoftwareMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_74c81b56-4c1a-4c6a-850c-2670bcacd785" xlink:to="loc_tyl_AcquiredSoftwareMember_89db126a-8b33-4965-a214-8866f251378c" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CustomerListsAndTradeNameMember_1911d05e-a7d7-4d0f-8319-a12d83f19087" xlink:href="tyl-20200331.xsd#tyl_CustomerListsAndTradeNameMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_74c81b56-4c1a-4c6a-850c-2670bcacd785" xlink:to="loc_tyl_CustomerListsAndTradeNameMember_1911d05e-a7d7-4d0f-8319-a12d83f19087" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/DisaggregationofRevenue" xlink:type="simple" xlink:href="tyl-20200331.xsd#DisaggregationofRevenue"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/DisaggregationofRevenue" xlink:type="extended" id="ibfb6863c18e94be89a4b8782ab9da19b_DisaggregationofRevenue"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/DisaggregationofRevenueTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#DisaggregationofRevenueTables"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/DisaggregationofRevenueTables" xlink:type="extended" id="if6da7636f0374ba8aed2489a3402b569_DisaggregationofRevenueTables"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/DisaggregationofRevenueDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#DisaggregationofRevenueDetails"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/DisaggregationofRevenueDetails" xlink:type="extended" id="i7800177da2e942869d79768eceec3086_DisaggregationofRevenueDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_5b493508-eded-43b2-9e53-725dd8fabf58" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_b978fd8e-3309-44cd-9f4a-70488d57b2d6" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_5b493508-eded-43b2-9e53-725dd8fabf58" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_b978fd8e-3309-44cd-9f4a-70488d57b2d6" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_d3a99203-960c-4d96-9bdf-790dd40ed013" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_5b493508-eded-43b2-9e53-725dd8fabf58" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_d3a99203-960c-4d96-9bdf-790dd40ed013" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_a75d5202-e624-4010-ba25-0417daba4352" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_d3a99203-960c-4d96-9bdf-790dd40ed013" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_a75d5202-e624-4010-ba25-0417daba4352" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_a75d5202-e624-4010-ba25-0417daba4352_default" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_a75d5202-e624-4010-ba25-0417daba4352" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_a75d5202-e624-4010-ba25-0417daba4352_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_0181c47c-7255-4fdf-b6c8-cead0d8e4506" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_a75d5202-e624-4010-ba25-0417daba4352" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_0181c47c-7255-4fdf-b6c8-cead0d8e4506" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredAtPointInTimeMember_09add0ef-1343-44a1-8f9b-d7d61389d2d1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TransferredAtPointInTimeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_0181c47c-7255-4fdf-b6c8-cead0d8e4506" xlink:to="loc_us-gaap_TransferredAtPointInTimeMember_09add0ef-1343-44a1-8f9b-d7d61389d2d1" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredOverTimeMember_e17a9b2f-faa5-4ade-a2d3-8b5a458012b7" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TransferredOverTimeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_0181c47c-7255-4fdf-b6c8-cead0d8e4506" xlink:to="loc_us-gaap_TransferredOverTimeMember_e17a9b2f-faa5-4ade-a2d3-8b5a458012b7" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_2f2f22a7-e6d8-465d-97cc-9a63e98f040f" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_d3a99203-960c-4d96-9bdf-790dd40ed013" xlink:to="loc_srt_ProductOrServiceAxis_2f2f22a7-e6d8-465d-97cc-9a63e98f040f" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_2f2f22a7-e6d8-465d-97cc-9a63e98f040f_default" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ProductOrServiceAxis_2f2f22a7-e6d8-465d-97cc-9a63e98f040f" xlink:to="loc_srt_ProductsAndServicesDomain_2f2f22a7-e6d8-465d-97cc-9a63e98f040f_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_7f9e2395-66e4-4444-bd91-18632a475915" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ProductOrServiceAxis_2f2f22a7-e6d8-465d-97cc-9a63e98f040f" xlink:to="loc_srt_ProductsAndServicesDomain_7f9e2395-66e4-4444-bd91-18632a475915" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LicenseMember_0d83e521-d9d1-47a4-8970-e8bcc1a2c566" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LicenseMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_7f9e2395-66e4-4444-bd91-18632a475915" xlink:to="loc_us-gaap_LicenseMember_0d83e521-d9d1-47a4-8970-e8bcc1a2c566" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubscriptionAndCirculationMember_ddb052b7-c1ad-4470-9a69-7da02de006e1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubscriptionAndCirculationMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_7f9e2395-66e4-4444-bd91-18632a475915" xlink:to="loc_us-gaap_SubscriptionAndCirculationMember_ddb052b7-c1ad-4470-9a69-7da02de006e1" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TechnologyServiceMember_505894be-fa47-459a-8b5b-ba7197ba7cf1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TechnologyServiceMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_7f9e2395-66e4-4444-bd91-18632a475915" xlink:to="loc_us-gaap_TechnologyServiceMember_505894be-fa47-459a-8b5b-ba7197ba7cf1" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MaintenanceMember_62bd745f-be35-41e6-ba68-6381de77efd9" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MaintenanceMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_7f9e2395-66e4-4444-bd91-18632a475915" xlink:to="loc_us-gaap_MaintenanceMember_62bd745f-be35-41e6-ba68-6381de77efd9" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AppraisalServicesMember_4ef6bba0-0073-4e6c-a386-591e2b9ac1a0" xlink:href="tyl-20200331.xsd#tyl_AppraisalServicesMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_7f9e2395-66e4-4444-bd91-18632a475915" xlink:to="loc_tyl_AppraisalServicesMember_4ef6bba0-0073-4e6c-a386-591e2b9ac1a0" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductMember_c158e0ad-5426-4f6d-8002-3e260e6a07a4" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ProductsAndServicesDomain_7f9e2395-66e4-4444-bd91-18632a475915" xlink:to="loc_us-gaap_ProductMember_c158e0ad-5426-4f6d-8002-3e260e6a07a4" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis_771681a3-fb43-4a6a-9fb9-417d7b4a6202" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MajorCustomersAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_d3a99203-960c-4d96-9bdf-790dd40ed013" xlink:to="loc_srt_MajorCustomersAxis_771681a3-fb43-4a6a-9fb9-417d7b4a6202" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_771681a3-fb43-4a6a-9fb9-417d7b4a6202_default" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_MajorCustomersAxis_771681a3-fb43-4a6a-9fb9-417d7b4a6202" xlink:to="loc_srt_NameOfMajorCustomerDomain_771681a3-fb43-4a6a-9fb9-417d7b4a6202_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_efaadeb8-ba16-476d-b204-3df1acfc2f1f" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_MajorCustomersAxis_771681a3-fb43-4a6a-9fb9-417d7b4a6202" xlink:to="loc_srt_NameOfMajorCustomerDomain_efaadeb8-ba16-476d-b204-3df1acfc2f1f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_RecurringRevenueMember_f301d624-2521-4789-b5c0-f0e1c6e07967" xlink:href="tyl-20200331.xsd#tyl_RecurringRevenueMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_efaadeb8-ba16-476d-b204-3df1acfc2f1f" xlink:to="loc_tyl_RecurringRevenueMember_f301d624-2521-4789-b5c0-f0e1c6e07967" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_NonrecurringRevenueMember_8ee46578-e224-4c23-a0cd-5b4fb17efed4" xlink:href="tyl-20200331.xsd#tyl_NonrecurringRevenueMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_NameOfMajorCustomerDomain_efaadeb8-ba16-476d-b204-3df1acfc2f1f" xlink:to="loc_tyl_NonrecurringRevenueMember_8ee46578-e224-4c23-a0cd-5b4fb17efed4" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_feea5031-9e96-4934-b0d2-655f3c7f78d7" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_d3a99203-960c-4d96-9bdf-790dd40ed013" xlink:to="loc_srt_ConsolidationItemsAxis_feea5031-9e96-4934-b0d2-655f3c7f78d7" xlink:type="arc" order="4"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_feea5031-9e96-4934-b0d2-655f3c7f78d7_default" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ConsolidationItemsAxis_feea5031-9e96-4934-b0d2-655f3c7f78d7" xlink:to="loc_srt_ConsolidationItemsDomain_feea5031-9e96-4934-b0d2-655f3c7f78d7_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_97036c69-3fc8-4b74-9395-54bed1ca4f7c" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ConsolidationItemsAxis_feea5031-9e96-4934-b0d2-655f3c7f78d7" xlink:to="loc_srt_ConsolidationItemsDomain_97036c69-3fc8-4b74-9395-54bed1ca4f7c" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_b3730ca8-6eb0-456b-975f-2f8fcb50eaf4" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_97036c69-3fc8-4b74-9395-54bed1ca4f7c" xlink:to="loc_us-gaap_OperatingSegmentsMember_b3730ca8-6eb0-456b-975f-2f8fcb50eaf4" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntersegmentEliminationMember_9532e4fe-832d-4833-92ef-472566060cfb" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntersegmentEliminationMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_97036c69-3fc8-4b74-9395-54bed1ca4f7c" xlink:to="loc_us-gaap_IntersegmentEliminationMember_9532e4fe-832d-4833-92ef-472566060cfb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_d107ca44-9a8c-476d-b725-277a386dd9aa" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_97036c69-3fc8-4b74-9395-54bed1ca4f7c" xlink:to="loc_us-gaap_CorporateNonSegmentMember_d107ca44-9a8c-476d-b725-277a386dd9aa" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CorporateAndEliminationsMember_bbed19d1-ae5f-43bc-8531-f5fc28aaba94" xlink:href="tyl-20200331.xsd#tyl_CorporateAndEliminationsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_97036c69-3fc8-4b74-9395-54bed1ca4f7c" xlink:to="loc_tyl_CorporateAndEliminationsMember_bbed19d1-ae5f-43bc-8531-f5fc28aaba94" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_40f603c6-9918-415f-96f3-146dc498cbc8" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_d3a99203-960c-4d96-9bdf-790dd40ed013" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_40f603c6-9918-415f-96f3-146dc498cbc8" xlink:type="arc" order="5"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_40f603c6-9918-415f-96f3-146dc498cbc8_default" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_40f603c6-9918-415f-96f3-146dc498cbc8" xlink:to="loc_us-gaap_SegmentDomain_40f603c6-9918-415f-96f3-146dc498cbc8_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_89b48e0e-672b-4692-ba1d-05f72d560e90" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_40f603c6-9918-415f-96f3-146dc498cbc8" xlink:to="loc_us-gaap_SegmentDomain_89b48e0e-672b-4692-ba1d-05f72d560e90" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_EnterpriseSoftwareMember_ad609a1d-237d-47b3-9c6e-0fa4fbc2ebc5" xlink:href="tyl-20200331.xsd#tyl_EnterpriseSoftwareMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_89b48e0e-672b-4692-ba1d-05f72d560e90" xlink:to="loc_tyl_EnterpriseSoftwareMember_ad609a1d-237d-47b3-9c6e-0fa4fbc2ebc5" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AppraisalAndTaxMember_012b4850-ec2c-4691-b07c-203d6c21a1b4" xlink:href="tyl-20200331.xsd#tyl_AppraisalAndTaxMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_89b48e0e-672b-4692-ba1d-05f72d560e90" xlink:to="loc_tyl_AppraisalAndTaxMember_012b4850-ec2c-4691-b07c-203d6c21a1b4" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/DisaggregationofRevenueAdditionalInformationDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#DisaggregationofRevenueAdditionalInformationDetails"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/DisaggregationofRevenueAdditionalInformationDetails" xlink:type="extended" id="i4afc289bceba4eaca4a663f70e2261c7_DisaggregationofRevenueAdditionalInformationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_3e35fca1-2992-4851-991b-accf77ab77cf" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_RevenueFromContractWithCustomerContractTerm_64deb8a1-6dbc-4d31-9576-57125e5a4523" xlink:href="tyl-20200331.xsd#tyl_RevenueFromContractWithCustomerContractTerm"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_3e35fca1-2992-4851-991b-accf77ab77cf" xlink:to="loc_tyl_RevenueFromContractWithCustomerContractTerm_64deb8a1-6dbc-4d31-9576-57125e5a4523" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_RevenueFromContractWithCustomerTypicalContractTerm_403e6865-a3e0-4a12-bd13-826fc6372b1f" xlink:href="tyl-20200331.xsd#tyl_RevenueFromContractWithCustomerTypicalContractTerm"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_3e35fca1-2992-4851-991b-accf77ab77cf" xlink:to="loc_tyl_RevenueFromContractWithCustomerTypicalContractTerm_403e6865-a3e0-4a12-bd13-826fc6372b1f" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_9cedb3d9-76f0-425f-8f93-0b51d575abd3" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_3e35fca1-2992-4851-991b-accf77ab77cf" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_9cedb3d9-76f0-425f-8f93-0b51d575abd3" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_78db7884-60ce-49f1-beae-b6889c354a6a" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_9cedb3d9-76f0-425f-8f93-0b51d575abd3" xlink:to="loc_srt_RangeAxis_78db7884-60ce-49f1-beae-b6889c354a6a" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_78db7884-60ce-49f1-beae-b6889c354a6a_default" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_RangeAxis_78db7884-60ce-49f1-beae-b6889c354a6a" xlink:to="loc_srt_RangeMember_78db7884-60ce-49f1-beae-b6889c354a6a_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_0c53228f-b44d-4105-a4c6-497c4eaec3a8" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_RangeAxis_78db7884-60ce-49f1-beae-b6889c354a6a" xlink:to="loc_srt_RangeMember_0c53228f-b44d-4105-a4c6-497c4eaec3a8" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_9ff883ad-c2d1-4ad0-af02-7bb9809089c3" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_0c53228f-b44d-4105-a4c6-497c4eaec3a8" xlink:to="loc_srt_MinimumMember_9ff883ad-c2d1-4ad0-af02-7bb9809089c3" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_5954716d-23e1-4b90-a438-75b047e37f45" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_RangeMember_0c53228f-b44d-4105-a4c6-497c4eaec3a8" xlink:to="loc_srt_MaximumMember_5954716d-23e1-4b90-a438-75b047e37f45" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligations" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredRevenueandPerformanceObligations"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligations" xlink:type="extended" id="i2d55ee5495204a25a5e0b2c5310428e9_DeferredRevenueandPerformanceObligations"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredRevenueandPerformanceObligationsTables"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsTables" xlink:type="extended" id="iabc1b4c492d545e1b86cd8f9a8b1e3f1_DeferredRevenueandPerformanceObligationsTables"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredRevenueandPerformanceObligationsDeferredRevenueDetails"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails" xlink:type="extended" id="i3321dcd7174c4e3a936984a79bbb02cf_DeferredRevenueandPerformanceObligationsDeferredRevenueDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_0f0a388c-841f-4dae-999c-7e42a43364a1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_217be2cb-3c82-4204-a8bc-1c90961b14d6" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_0f0a388c-841f-4dae-999c-7e42a43364a1" xlink:to="loc_us-gaap_ContractWithCustomerLiability_217be2cb-3c82-4204-a8bc-1c90961b14d6" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_ContractWithCustomerLiabilityRollForward_704280c2-e1f4-4d7f-9f04-8f88feddefa5" xlink:href="tyl-20200331.xsd#tyl_ContractWithCustomerLiabilityRollForward"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_0f0a388c-841f-4dae-999c-7e42a43364a1" xlink:to="loc_tyl_ContractWithCustomerLiabilityRollForward_704280c2-e1f4-4d7f-9f04-8f88feddefa5" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_7efe6c3a-6846-45b7-8bd6-383a92cf6cfe" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_ContractWithCustomerLiabilityIncreaseFromDeferral_cf9960e4-a793-4398-a113-0d71484a95b5" xlink:href="tyl-20200331.xsd#tyl_ContractWithCustomerLiabilityIncreaseFromDeferral"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_tyl_ContractWithCustomerLiabilityRollForward_704280c2-e1f4-4d7f-9f04-8f88feddefa5" xlink:to="loc_tyl_ContractWithCustomerLiabilityIncreaseFromDeferral_cf9960e4-a793-4398-a113-0d71484a95b5" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_72d61074-fc3e-4533-8ada-2790b6dd7371" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_tyl_ContractWithCustomerLiabilityRollForward_704280c2-e1f4-4d7f-9f04-8f88feddefa5" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_72d61074-fc3e-4533-8ada-2790b6dd7371" xlink:type="arc" order="3"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_700c8012-f33a-444e-bac6-c88583c96f20" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_d8f019e5-461b-48bd-8ae9-a25c02172472" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_0f0a388c-841f-4dae-999c-7e42a43364a1" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_d8f019e5-461b-48bd-8ae9-a25c02172472" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_2ffcc69c-2674-488c-b926-557b9ccf6829" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_d8f019e5-461b-48bd-8ae9-a25c02172472" xlink:to="loc_srt_ConsolidationItemsAxis_2ffcc69c-2674-488c-b926-557b9ccf6829" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_2ffcc69c-2674-488c-b926-557b9ccf6829_default" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_srt_ConsolidationItemsAxis_2ffcc69c-2674-488c-b926-557b9ccf6829" xlink:to="loc_srt_ConsolidationItemsDomain_2ffcc69c-2674-488c-b926-557b9ccf6829_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_dc511c62-a2bb-4aa2-b467-e087bbdd4b8d" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_srt_ConsolidationItemsAxis_2ffcc69c-2674-488c-b926-557b9ccf6829" xlink:to="loc_srt_ConsolidationItemsDomain_dc511c62-a2bb-4aa2-b467-e087bbdd4b8d" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_59ddb8fc-d502-47ce-aa53-035876e918e9" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_dc511c62-a2bb-4aa2-b467-e087bbdd4b8d" xlink:to="loc_us-gaap_OperatingSegmentsMember_59ddb8fc-d502-47ce-aa53-035876e918e9" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_f48d688a-5dd9-40ca-803c-512f44d458bb" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_srt_ConsolidationItemsDomain_dc511c62-a2bb-4aa2-b467-e087bbdd4b8d" xlink:to="loc_us-gaap_CorporateNonSegmentMember_f48d688a-5dd9-40ca-803c-512f44d458bb" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_b626fcd6-b45b-491e-aecc-870700ad02ed" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_d8f019e5-461b-48bd-8ae9-a25c02172472" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_b626fcd6-b45b-491e-aecc-870700ad02ed" xlink:type="arc" order="2"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_b626fcd6-b45b-491e-aecc-870700ad02ed_default" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_b626fcd6-b45b-491e-aecc-870700ad02ed" xlink:to="loc_us-gaap_SegmentDomain_b626fcd6-b45b-491e-aecc-870700ad02ed_default" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_bce93c11-3f9a-4b90-804e-880109e23bac" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_b626fcd6-b45b-491e-aecc-870700ad02ed" xlink:to="loc_us-gaap_SegmentDomain_bce93c11-3f9a-4b90-804e-880109e23bac" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_EnterpriseSoftwareMember_aabe2655-504b-4c46-9dff-0c2c41e29cb5" xlink:href="tyl-20200331.xsd#tyl_EnterpriseSoftwareMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_bce93c11-3f9a-4b90-804e-880109e23bac" xlink:to="loc_tyl_EnterpriseSoftwareMember_aabe2655-504b-4c46-9dff-0c2c41e29cb5" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AppraisalAndTaxMember_14679c12-11a6-4a57-99d0-0dc3e94bbf43" xlink:href="tyl-20200331.xsd#tyl_AppraisalAndTaxMember"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SegmentDomain_bce93c11-3f9a-4b90-804e-880109e23bac" xlink:to="loc_tyl_AppraisalAndTaxMember_14679c12-11a6-4a57-99d0-0dc3e94bbf43" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredRevenueandPerformanceObligationsAdditionalInformationDetails"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails" xlink:type="extended" id="i372f05307b964cfbab714a643d98ab97_DeferredRevenueandPerformanceObligationsAdditionalInformationDetails">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_40188e94-4440-4fc2-ab43-fa757ddcf321" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_2283de8a-6f69-4b56-b182-5f81245a9569" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_40188e94-4440-4fc2-ab43-fa757ddcf321" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_2283de8a-6f69-4b56-b182-5f81245a9569" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_e70d837a-5abc-4940-91fc-75f9f4dd5008" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_40188e94-4440-4fc2-ab43-fa757ddcf321" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_e70d837a-5abc-4940-91fc-75f9f4dd5008" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_1cdfa813-972e-4b32-aa62-2e2a5e426a6f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_40188e94-4440-4fc2-ab43-fa757ddcf321" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_1cdfa813-972e-4b32-aa62-2e2a5e426a6f" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_b9b32e13-06a1-47d9-8ce5-33acd77d303c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_1cdfa813-972e-4b32-aa62-2e2a5e426a6f" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_b9b32e13-06a1-47d9-8ce5-33acd77d303c" xlink:type="arc" order="1"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails_1" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredRevenueandPerformanceObligationsAdditionalInformationDetails_1"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails_1" xlink:type="extended" id="i21082c69c23940ea8e3a599efa9ee29f_DeferredRevenueandPerformanceObligationsAdditionalInformationDetails_1">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_40188e94-4440-4fc2-ab43-fa757ddcf321" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_2283de8a-6f69-4b56-b182-5f81245a9569" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_40188e94-4440-4fc2-ab43-fa757ddcf321" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_2283de8a-6f69-4b56-b182-5f81245a9569" xlink:type="arc" order="0"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_e70d837a-5abc-4940-91fc-75f9f4dd5008" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_40188e94-4440-4fc2-ab43-fa757ddcf321" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_e70d837a-5abc-4940-91fc-75f9f4dd5008" xlink:type="arc" order="1"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_1cdfa813-972e-4b32-aa62-2e2a5e426a6f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:definitionArc xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_40188e94-4440-4fc2-ab43-fa757ddcf321" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_1cdfa813-972e-4b32-aa62-2e2a5e426a6f" xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment"/>
  </link:definitionLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/CommitmentsandContingencies" xlink:type="simple" xlink:href="tyl-20200331.xsd#CommitmentsandContingencies"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/CommitmentsandContingencies" xlink:type="extended" id="ia68ef25b27f546faa79c6b6dcdc12209_CommitmentsandContingencies"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/CommitmentsandContingenciesDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#CommitmentsandContingenciesDetail"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/CommitmentsandContingenciesDetail" xlink:type="extended" id="i4a9d226437b341849b6f3eccf91d1280_CommitmentsandContingenciesDetail"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/SubsequentEvents" xlink:type="simple" xlink:href="tyl-20200331.xsd#SubsequentEvents"/>
  <link:definitionLink xlink:role="http://www.tylertech.com/role/SubsequentEvents" xlink:type="extended" id="i47e042db668b415a8e79ed822279f485_SubsequentEvents"/>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>8
<FILENAME>tyl-20200331_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2020 Workiva-->
<!--r:9c0163e1-2bea-4e19-a373-e0f9503df286,g:86679952-cdda-4c06-ac05-01fb6f67268a-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel"/>
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel"/>
  <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears_73278f82-5c6e-4ea5-8a11-d1ec5fc6037f_terseLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2023</link:label>
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessor, Operating Lease, Payments to be Received, Four Years</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears" xlink:to="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost_815abbf7-49f3-4e66-848e-5154970f23a6_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and development expense</link:label>
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Research and Development Expense, Software (Excluding Acquired in Process Cost)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PrimeRateMember_65f22785-91bd-4962-9d57-db1cac15ecc9_terseLabel_en-US" xlink:label="lab_us-gaap_PrimeRateMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prime Commercial Lending Rate</link:label>
    <link:label id="lab_us-gaap_PrimeRateMember_label_en-US" xlink:label="lab_us-gaap_PrimeRateMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prime Rate [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrimeRateMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrimeRateMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrimeRateMember" xlink:to="lab_us-gaap_PrimeRateMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerAbstract_99c4d2a0-b4a7-4cb9-8dd9-9e8db96b8d67_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerAbstract_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquireHeldToMaturitySecurities_81d401fc-acb7-48c7-adf2-4563e468e072_terseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase of held to maturity securities</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireHeldToMaturitySecurities_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Held-to-maturity Securities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:to="lab_us-gaap_PaymentsToAcquireHeldToMaturitySecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock_39456775-e8d9-4097-a696-60fe95178403_terseLabel_en-US" xlink:label="lab_tyl_ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of leases assets and liabilities</link:label>
    <link:label id="lab_tyl_ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock_label_en-US" xlink:label="lab_tyl_ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Leases Assets And Liabilities [Table Text Block]</link:label>
    <link:label id="lab_tyl_ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock_documentation_en-US" xlink:label="lab_tyl_ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Leases Assets And Liabilities [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock" xlink:href="tyl-20200331.xsd#tyl_ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock" xlink:to="lab_tyl_ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CityAreaCode_1914b400-20fb-4760-a3b8-cc96a9e1b071_terseLabel_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:label id="lab_dei_CityAreaCode_label_en-US" xlink:label="lab_dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">City Area Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CityAreaCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CityAreaCode" xlink:to="lab_dei_CityAreaCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_0f65c152-434e-4567-9e67-2c01d66b4eff_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock compensation</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">APIC, Share-based Payment Arrangement, Increase for Cost Recognition</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MaterialReconcilingItemsMember_f9f5c3d6-42d4-46be-814e-a33ab31e7ec4_terseLabel_en-US" xlink:label="lab_us-gaap_MaterialReconcilingItemsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment reconciling items</link:label>
    <link:label id="lab_us-gaap_MaterialReconcilingItemsMember_label_en-US" xlink:label="lab_us-gaap_MaterialReconcilingItemsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reconciling Items [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MaterialReconcilingItemsMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MaterialReconcilingItemsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MaterialReconcilingItemsMember" xlink:to="lab_us-gaap_MaterialReconcilingItemsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_b12d96ba-d108-4c75-b626-68d31e5092f6_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recognition of deferred revenue</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability, Revenue Recognized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityRevenueRecognized" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_ContractWithCustomerLiabilityRollForward_ce01ed94-0797-4324-851f-ea2b035929a2_terseLabel_en-US" xlink:label="lab_tyl_ContractWithCustomerLiabilityRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer Liability</link:label>
    <link:label id="lab_tyl_ContractWithCustomerLiabilityRollForward_label_en-US" xlink:label="lab_tyl_ContractWithCustomerLiabilityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer Liability [Roll Forward]</link:label>
    <link:label id="lab_tyl_ContractWithCustomerLiabilityRollForward_documentation_en-US" xlink:label="lab_tyl_ContractWithCustomerLiabilityRollForward" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer Liability [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_ContractWithCustomerLiabilityRollForward" xlink:href="tyl-20200331.xsd#tyl_ContractWithCustomerLiabilityRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_ContractWithCustomerLiabilityRollForward" xlink:to="lab_tyl_ContractWithCustomerLiabilityRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_04b6fb85-c337-44a5-8d2d-58c5897f14a5_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses and other current assets</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Prepaid Expense and Other Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_21830ea3-f548-4983-abfa-29d4da5743c4_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current liabilities</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrent" xlink:to="lab_us-gaap_LiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill_02859a81-339f-4fe5-9aa6-75e1d8fb2036_terseLabel_en-US" xlink:label="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other intangibles, net</link:label>
    <link:label id="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill_label_en-US" xlink:label="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intangible Assets, Net (Excluding Goodwill)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="lab_us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_Security12bTitle_956e3350-8b1f-4a56-823f-849975bfb9f1_terseLabel_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:label id="lab_dei_Security12bTitle_label_en-US" xlink:label="lab_dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Title of 12(b) Security</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Security12bTitle"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_Security12bTitle" xlink:to="lab_dei_Security12bTitle" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsForProceedsFromOtherInvestingActivities_649b46f1-74fb-4c74-b3f0-75f630b6c939_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">(Increase) decrease in other</link:label>
    <link:label id="lab_us-gaap_PaymentsForProceedsFromOtherInvestingActivities_label_en-US" xlink:label="lab_us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for (Proceeds from) Other Investing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:to="lab_us-gaap_PaymentsForProceedsFromOtherInvestingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_70015e7f-cbec-4e78-8ff8-6920ca8cb740_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of shares pursuant to employee stock purchase plan (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_fa9eeede-8a95-43a7-b3f8-9588e28d6e9c_verboseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee stock plan purchases (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Shares, Employee Stock Purchase Plans</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_CumulativeEffectPeriodOfAdoptionAxis_711d32c0-56de-4925-ac66-8e9b876882a5_terseLabel_en-US" xlink:label="lab_tyl_CumulativeEffectPeriodOfAdoptionAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption [Axis]</link:label>
    <link:label id="lab_tyl_CumulativeEffectPeriodOfAdoptionAxis_label_en-US" xlink:label="lab_tyl_CumulativeEffectPeriodOfAdoptionAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption [Axis]</link:label>
    <link:label id="lab_tyl_CumulativeEffectPeriodOfAdoptionAxis_documentation_en-US" xlink:label="lab_tyl_CumulativeEffectPeriodOfAdoptionAxis" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CumulativeEffectPeriodOfAdoptionAxis" xlink:href="tyl-20200331.xsd#tyl_CumulativeEffectPeriodOfAdoptionAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_CumulativeEffectPeriodOfAdoptionAxis" xlink:to="lab_tyl_CumulativeEffectPeriodOfAdoptionAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_bd857778-986a-40e5-b30e-df1fd420028c_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings per common share:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareAbstract" xlink:to="lab_us-gaap_EarningsPerShareAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_CreditAgreementMember_cea6cbf3-16e5-4c2a-a636-69065105a863_terseLabel_en-US" xlink:label="lab_tyl_CreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Agreement</link:label>
    <link:label id="lab_tyl_CreditAgreementMember_label_en-US" xlink:label="lab_tyl_CreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Agreement [Member]</link:label>
    <link:label id="lab_tyl_CreditAgreementMember_documentation_en-US" xlink:label="lab_tyl_CreditAgreementMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Agreement.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CreditAgreementMember" xlink:href="tyl-20200331.xsd#tyl_CreditAgreementMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_CreditAgreementMember" xlink:to="lab_tyl_CreditAgreementMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LessorOperatingLeaseRenewalTerm_5fba4b9d-784e-40a9-ae14-b6c145f11690_terseLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeaseRenewalTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessor, operating lease renewal term</link:label>
    <link:label id="lab_us-gaap_LessorOperatingLeaseRenewalTerm_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeaseRenewalTerm" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessor, Operating Lease, Renewal Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeaseRenewalTerm" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeaseRenewalTerm"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeaseRenewalTerm" xlink:to="lab_us-gaap_LessorOperatingLeaseRenewalTerm" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockShares_828eb120-380a-4099-a2aa-9b331b5928fe_terseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockShares" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury stock (shares)</link:label>
    <link:label id="lab_us-gaap_TreasuryStockShares_label_en-US" xlink:label="lab_us-gaap_TreasuryStockShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Shares</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockShares" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockShares"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockShares" xlink:to="lab_us-gaap_TreasuryStockShares" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock_e0fb8e64-5001-48c8-b28c-67f288ae9ee2_terseLabel_en-US" xlink:label="lab_tyl_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of supplemental information related to leases</link:label>
    <link:label id="lab_tyl_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock_label_en-US" xlink:label="lab_tyl_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Supplemental Information Related To Leases [Table Text Block]</link:label>
    <link:label id="lab_tyl_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock_documentation_en-US" xlink:label="lab_tyl_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Supplemental Information Related To Leases [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock" xlink:href="tyl-20200331.xsd#tyl_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock" xlink:to="lab_tyl_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_MPHoldingsParentInc.dbaMicroPactMember_b8c17ffd-1b4c-4744-9181-9393b7c12532_terseLabel_en-US" xlink:label="lab_tyl_MPHoldingsParentInc.dbaMicroPactMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MicroPact</link:label>
    <link:label id="lab_tyl_MPHoldingsParentInc.dbaMicroPactMember_label_en-US" xlink:label="lab_tyl_MPHoldingsParentInc.dbaMicroPactMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MP Holdings Parent, Inc. dba MicroPact [Member]</link:label>
    <link:label id="lab_tyl_MPHoldingsParentInc.dbaMicroPactMember_documentation_en-US" xlink:label="lab_tyl_MPHoldingsParentInc.dbaMicroPactMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">MP Holdings Parent, Inc. dba MicroPact [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_MPHoldingsParentInc.dbaMicroPactMember" xlink:href="tyl-20200331.xsd#tyl_MPHoldingsParentInc.dbaMicroPactMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_MPHoldingsParentInc.dbaMicroPactMember" xlink:to="lab_tyl_MPHoldingsParentInc.dbaMicroPactMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_560cfbe5-af23-462d-83e2-6c552f203852_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of operating lease maturity</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Maturity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_a7da2cc0-b935-4838-b009-9aa5211b723c_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recently adopted pronouncements</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_08b7f046-96d1-44d0-8823-d39070b5b2d6_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total cost of revenues</link:label>
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_label_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Goods and Services Sold</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsAndServicesSold" xlink:to="lab_us-gaap_CostOfGoodsAndServicesSold" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_RevenueFromContractWithCustomerContractTerm_be353dde-b0a6-43c9-b9a9-262d273a3fdd_terseLabel_en-US" xlink:label="lab_tyl_RevenueFromContractWithCustomerContractTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract term</link:label>
    <link:label id="lab_tyl_RevenueFromContractWithCustomerContractTerm_label_en-US" xlink:label="lab_tyl_RevenueFromContractWithCustomerContractTerm" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue From Contract With Customer, Contract Term</link:label>
    <link:label id="lab_tyl_RevenueFromContractWithCustomerContractTerm_documentation_en-US" xlink:label="lab_tyl_RevenueFromContractWithCustomerContractTerm" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue From Contract With Customer, Contract Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_RevenueFromContractWithCustomerContractTerm" xlink:href="tyl-20200331.xsd#tyl_RevenueFromContractWithCustomerContractTerm"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_RevenueFromContractWithCustomerContractTerm" xlink:to="lab_tyl_RevenueFromContractWithCustomerContractTerm" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_bcebf5a6-1761-4bc7-a2b5-add4d7894deb_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income before income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_5c03074d-1594-4de8-a86b-e552cef3586c_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income before income taxes</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_fdcb8c35-0dd7-4e34-bf65-f60aba461efb_terseLabel_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:label id="lab_dei_CurrentFiscalYearEndDate_label_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current Fiscal Year End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CurrentFiscalYearEndDate" xlink:to="lab_dei_CurrentFiscalYearEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsAbstract_6eee4d35-3896-4f91-b5f1-b10a5581d93e_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">ASSETS</link:label>
    <link:label id="lab_us-gaap_AssetsAbstract_ae894062-2e9a-4dab-8157-ef630fe6ed24_verboseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets:</link:label>
    <link:label id="lab_us-gaap_AssetsAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAbstract" xlink:to="lab_us-gaap_AssetsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy_b822dd34-81d8-43ac-b6a4-a5e68bb887bf_terseLabel_en-US" xlink:label="lab_us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract balances</link:label>
    <link:label id="lab_us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy_label_en-US" xlink:label="lab_us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivables, Trade and Other Accounts Receivable, Allowance for Doubtful Accounts, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:to="lab_us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThereafter_f2b1975c-dc92-4b86-aacb-9a0b59c363ff_terseLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThereafter" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThereafter_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThereafter" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessor, Operating Lease, Payments to be Received, Thereafter</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThereafter" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedThereafter"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThereafter" xlink:to="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThereafter" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_8335e761-988b-4a1b-9046-2bbdea3df4b6_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, par value (usd per share)</link:label>
    <link:label id="lab_us-gaap_PreferredStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_PreferredStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RentalIncomeNonoperating_9b8b53ab-bcd4-4edb-b118-b5444b35ef29_terseLabel_en-US" xlink:label="lab_us-gaap_RentalIncomeNonoperating" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rental income</link:label>
    <link:label id="lab_us-gaap_RentalIncomeNonoperating_label_en-US" xlink:label="lab_us-gaap_RentalIncomeNonoperating" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Rental Income, Nonoperating</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RentalIncomeNonoperating" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RentalIncomeNonoperating"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RentalIncomeNonoperating" xlink:to="lab_us-gaap_RentalIncomeNonoperating" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_9c9c65c1-bebb-454c-9a8f-c88b8c52ede5_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Billing Status, Type [Axis]</link:label>
    <link:label id="lab_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_label_en-US" xlink:label="lab_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Billing Status, Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:to="lab_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_0d192bfe-80ef-4295-808e-923d0553499d_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average remaining lease term (years)</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_00826c5c-2308-4365-bbf5-57548fb357d1_totalLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Denominator for diluted earnings per share - Adjusted weighted-average shares (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_SoftwareServicesMaintenanceandSubscriptionsMember_2d69e40d-20a3-40c0-a71f-94c425aa719a_terseLabel_en-US" xlink:label="lab_tyl_SoftwareServicesMaintenanceandSubscriptionsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software services, maintenance and subscriptions</link:label>
    <link:label id="lab_tyl_SoftwareServicesMaintenanceandSubscriptionsMember_label_en-US" xlink:label="lab_tyl_SoftwareServicesMaintenanceandSubscriptionsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software Services, Maintenance and Subscriptions [Member]</link:label>
    <link:label id="lab_tyl_SoftwareServicesMaintenanceandSubscriptionsMember_documentation_en-US" xlink:label="lab_tyl_SoftwareServicesMaintenanceandSubscriptionsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software Services, Maintenance and Subscriptions [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_SoftwareServicesMaintenanceandSubscriptionsMember" xlink:href="tyl-20200331.xsd#tyl_SoftwareServicesMaintenanceandSubscriptionsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_SoftwareServicesMaintenanceandSubscriptionsMember" xlink:to="lab_tyl_SoftwareServicesMaintenanceandSubscriptionsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressPostalZipCode_9453e556-20c3-4edb-818a-c2962cf7bb78_terseLabel_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:label id="lab_dei_EntityAddressPostalZipCode_label_en-US" xlink:label="lab_dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Postal Zip Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressPostalZipCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressPostalZipCode" xlink:to="lab_dei_EntityAddressPostalZipCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseCost_591e4411-816f-46f4-9b63-75e86c1a4b0b_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease, cost</link:label>
    <link:label id="lab_us-gaap_LeaseCost_0f9079fe-cffa-48bc-83e9-e8e427676390_totalLabel_en-US" xlink:label="lab_us-gaap_LeaseCost" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net lease cost</link:label>
    <link:label id="lab_us-gaap_LeaseCost_label_en-US" xlink:label="lab_us-gaap_LeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCost" xlink:to="lab_us-gaap_LeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShortTermDebtTypeDomain_d8468928-e9b8-4575-88d8-d47f1752360d_terseLabel_en-US" xlink:label="lab_us-gaap_ShortTermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term Debt, Type</link:label>
    <link:label id="lab_us-gaap_ShortTermDebtTypeDomain_label_en-US" xlink:label="lab_us-gaap_ShortTermDebtTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term Debt, Type [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermDebtTypeDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermDebtTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShortTermDebtTypeDomain" xlink:to="lab_us-gaap_ShortTermDebtTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock_6dfdfbbb-f06b-4212-b24a-566388d7bb91_terseLabel_en-US" xlink:label="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reconciliation of operating income from segments to consolidated</link:label>
    <link:label id="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock_label_en-US" xlink:label="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock" xlink:to="lab_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_45814171-fc03-40a2-a5f8-f3b7e6860656_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flows from financing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_fc79180d-6fe2-4b49-a065-0b0c6228b85c_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving credit facility, maximum borrowing capacity</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="lab_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_53d9a077-4260-4b3e-84a2-a3c4803e6f65_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property and equipment, net</link:label>
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Property, Plant and Equipment, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LondonInterbankOfferedRateLIBORMember_ed94e4c2-7f53-451d-98ef-ed31d29280e1_terseLabel_en-US" xlink:label="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Libor Rate</link:label>
    <link:label id="lab_us-gaap_LondonInterbankOfferedRateLIBORMember_label_en-US" xlink:label="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">London Interbank Offered Rate (LIBOR) [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:to="lab_us-gaap_LondonInterbankOfferedRateLIBORMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_d30c6e6e-4cde-4ef0-8a95-b48975c1b55d_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss)</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">AOCI Attributable to Parent [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_b0ae0108-9b44-4064-9f40-1eb3388d3767_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of credit facility interest rate</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Basis Spread on Variable Rate</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="lab_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Assets_1aec8075-1a85-4e08-8e1c-47c81e16a369_totalLabel_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">&#160;Total assets</link:label>
    <link:label id="lab_us-gaap_Assets_label_en-US" xlink:label="lab_us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Assets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets" xlink:to="lab_us-gaap_Assets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InvestmentsAndOtherNoncurrentAssets_f97e32e6-312c-4ff1-9c77-4991bf7d2e09_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentsAndOtherNoncurrentAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-current investments and other assets</link:label>
    <link:label id="lab_us-gaap_InvestmentsAndOtherNoncurrentAssets_label_en-US" xlink:label="lab_us-gaap_InvestmentsAndOtherNoncurrentAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investments and Other Noncurrent Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentsAndOtherNoncurrentAssets" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentsAndOtherNoncurrentAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentsAndOtherNoncurrentAssets" xlink:to="lab_us-gaap_InvestmentsAndOtherNoncurrentAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_a742e2a3-c40f-473b-b03b-a28631cc60f6_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee taxes paid for withheld shares upon equity award settlement</link:label>
    <link:label id="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Decrease for Tax Withholding Obligation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="lab_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityShellCompany_eec7ee1c-65d9-4143-8986-dc6d2ea0ff5a_terseLabel_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:label id="lab_dei_EntityShellCompany_label_en-US" xlink:label="lab_dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Shell Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityShellCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityShellCompany" xlink:to="lab_dei_EntityShellCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_9170dddf-f976-48f5-8c07-508945d4ba5e_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_39de390b-3e1b-4c9b-97ff-7db362a3f957_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Present value of operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiability" xlink:to="lab_us-gaap_OperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_CoverAbstract_c92097c4-32de-4871-82c5-1e21987e476d_terseLabel_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover page.</link:label>
    <link:label id="lab_dei_CoverAbstract_label_en-US" xlink:label="lab_dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cover [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CoverAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CoverAbstract" xlink:to="lab_dei_CoverAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetsDisclosureTextBlock_065a49a0-08e5-4aed-a232-4fa73fcddc6c_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Assets</link:label>
    <link:label id="lab_us-gaap_OtherAssetsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_OtherAssetsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Assets Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsDisclosureTextBlock" xlink:to="lab_us-gaap_OtherAssetsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentType_3d0dd75c-e3c6-4863-9185-3b4f6772d58f_terseLabel_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:label id="lab_dei_DocumentType_label_en-US" xlink:label="lab_dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentType"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType" xlink:to="lab_dei_DocumentType" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_a07663e9-7daf-457d-ac1a-0e9f1e32caa3_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of segment revenues and operations</link:label>
    <link:label id="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:to="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentInterestRateEffectivePercentage_7005e710-0245-48fa-bc8b-94b263039a01_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective percentage interest rate</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentInterestRateEffectivePercentage_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Interest Rate, Effective Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:to="lab_us-gaap_DebtInstrumentInterestRateEffectivePercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_SoftwareLicensesandRoyaltiesMember_6c947321-1485-4116-b5e5-ee5c8b681958_terseLabel_en-US" xlink:label="lab_tyl_SoftwareLicensesandRoyaltiesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software licenses and royalties</link:label>
    <link:label id="lab_tyl_SoftwareLicensesandRoyaltiesMember_label_en-US" xlink:label="lab_tyl_SoftwareLicensesandRoyaltiesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software Licenses and Royalties [Member]</link:label>
    <link:label id="lab_tyl_SoftwareLicensesandRoyaltiesMember_documentation_en-US" xlink:label="lab_tyl_SoftwareLicensesandRoyaltiesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software Licenses and Royalties [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_SoftwareLicensesandRoyaltiesMember" xlink:href="tyl-20200331.xsd#tyl_SoftwareLicensesandRoyaltiesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_SoftwareLicensesandRoyaltiesMember" xlink:to="lab_tyl_SoftwareLicensesandRoyaltiesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingAbstract_38ce942c-15df-4330-b8ba-58cc940af6be_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
    <link:label id="lab_us-gaap_SegmentReportingAbstract_label_en-US" xlink:label="lab_us-gaap_SegmentReportingAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingAbstract" xlink:to="lab_us-gaap_SegmentReportingAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_ebcdfba2-ead4-4684-954f-4235b1b80b7b_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Less: Interest</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostNet_b160757a-d6b0-473d-b45c-d427e2bd2767_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred commissions</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostNet_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNet" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostNet" xlink:to="lab_us-gaap_CapitalizedContractCostNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LicenseMember_3c444380-8abb-4113-aff1-9ed8f9c313a4_terseLabel_en-US" xlink:label="lab_us-gaap_LicenseMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software licenses and royalties</link:label>
    <link:label id="lab_us-gaap_LicenseMember_label_en-US" xlink:label="lab_us-gaap_LicenseMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">License [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LicenseMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LicenseMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LicenseMember" xlink:to="lab_us-gaap_LicenseMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_cee655f6-e006-401a-aba1-58add30d14b2_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock option exercises</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Stock Options Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableRateDomain_3a356c0f-ccdf-47c4-a1fb-ad400f17a8df_terseLabel_en-US" xlink:label="lab_us-gaap_VariableRateDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate</link:label>
    <link:label id="lab_us-gaap_VariableRateDomain_label_en-US" xlink:label="lab_us-gaap_VariableRateDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableRateDomain" xlink:to="lab_us-gaap_VariableRateDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_AppraisalAndTaxMember_69aab093-8f56-4ff0-bd78-88670da902d5_terseLabel_en-US" xlink:label="lab_tyl_AppraisalAndTaxMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Appraisal&#160;and&#160;Tax</link:label>
    <link:label id="lab_tyl_AppraisalAndTaxMember_label_en-US" xlink:label="lab_tyl_AppraisalAndTaxMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Appraisal And Tax [Member]</link:label>
    <link:label id="lab_tyl_AppraisalAndTaxMember_documentation_en-US" xlink:label="lab_tyl_AppraisalAndTaxMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Appraisal and tax.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AppraisalAndTaxMember" xlink:href="tyl-20200331.xsd#tyl_AppraisalAndTaxMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_AppraisalAndTaxMember" xlink:to="lab_tyl_AppraisalAndTaxMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubscriptionAndCirculationMember_107b11a0-e1ca-4aae-ab26-7a3c4587d2d9_verboseLabel_en-US" xlink:label="lab_us-gaap_SubscriptionAndCirculationMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subscriptions</link:label>
    <link:label id="lab_us-gaap_SubscriptionAndCirculationMember_687c03d4-2fc3-4c37-a302-71dc76d3e16e_terseLabel_en-US" xlink:label="lab_us-gaap_SubscriptionAndCirculationMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subscriptions</link:label>
    <link:label id="lab_us-gaap_SubscriptionAndCirculationMember_label_en-US" xlink:label="lab_us-gaap_SubscriptionAndCirculationMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subscription and Circulation [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubscriptionAndCirculationMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubscriptionAndCirculationMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubscriptionAndCirculationMember" xlink:to="lab_us-gaap_SubscriptionAndCirculationMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockSharesAcquired_e91daae8-007d-4b37-9617-df50038b2371_negatedLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockSharesAcquired" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury stock purchases (in shares)</link:label>
    <link:label id="lab_us-gaap_TreasuryStockSharesAcquired_2138b81a-6f49-4350-913f-bea2733c670a_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockSharesAcquired" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of treasury (in shares)</link:label>
    <link:label id="lab_us-gaap_TreasuryStockSharesAcquired_label_en-US" xlink:label="lab_us-gaap_TreasuryStockSharesAcquired" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Shares, Acquired</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockSharesAcquired" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockSharesAcquired"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockSharesAcquired" xlink:to="lab_us-gaap_TreasuryStockSharesAcquired" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_NameOfMajorCustomerDomain_6ea4120e-54bc-4dca-9bf0-ad1032bd5d8e_terseLabel_en-US" xlink:label="lab_srt_NameOfMajorCustomerDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Domain]</link:label>
    <link:label id="lab_srt_NameOfMajorCustomerDomain_label_en-US" xlink:label="lab_srt_NameOfMajorCustomerDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_NameOfMajorCustomerDomain" xlink:to="lab_srt_NameOfMajorCustomerDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_829412c4-666f-4a42-b376-3abec2176b2f_terseLabel_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement [Abstract]</link:label>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_label_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtDisclosureAbstract_c3c72f94-84ce-4553-858e-c21880aba90f_terseLabel_en-US" xlink:label="lab_us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_DebtDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureAbstract" xlink:to="lab_us-gaap_DebtDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_58ac7ae1-b939-4ff7-8e7b-bc6f3c8edf0f_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Receivable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_29c3ce71-c92b-4be4-bbdf-f48fb12322c2_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2023</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Four</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_0f13ef69-7414-4b47-b6dc-a002d2ba6093_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current liabilities:</link:label>
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract" xlink:to="lab_us-gaap_LiabilitiesCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_dd9b46bf-2627-463a-a256-9afea971abb3_terseLabel_en-US" xlink:label="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating leases</link:label>
    <link:label id="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_label_en-US" xlink:label="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="lab_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_bab6f306-594e-416f-8d0e-d82fd57dc3a9_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_6c5e4f4c-7469-43e2-a982-8cf2909e7bce_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationDomain" xlink:to="lab_us-gaap_IncomeStatementLocationDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CreditFacilityAxis_dccb886f-0b61-462f-8f40-3ea1c8cd307f_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility</link:label>
    <link:label id="lab_us-gaap_CreditFacilityAxis_label_en-US" xlink:label="lab_us-gaap_CreditFacilityAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityAxis" xlink:to="lab_us-gaap_CreditFacilityAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeAxis_06e835ac-f720-4143-840c-ab73d16e53da_terseLabel_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:label id="lab_srt_RangeAxis_label_en-US" xlink:label="lab_srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeAxis" xlink:to="lab_srt_RangeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_95cadabf-9c0f-43e6-8de3-bf650ac7ed98_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted average discount rate</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement_78daf6ba-2944-41ae-877e-29c7015a2b4e_terseLabel_en-US" xlink:label="lab_tyl_ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted stock units vested, net of withheld shares upon award settlement (in shares)</link:label>
    <link:label id="lab_tyl_ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement_label_en-US" xlink:label="lab_tyl_ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other than Options, Vested In Period, Net Of Withheld Shares Upon Award Settlement</link:label>
    <link:label id="lab_tyl_ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement_documentation_en-US" xlink:label="lab_tyl_ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other than Options, Vested In Period, Net Of Withheld Shares Upon Award Settlement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement" xlink:href="tyl-20200331.xsd#tyl_ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement" xlink:to="lab_tyl_ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsForSoftware_e0435b05-50b1-43d9-92ef-1b83167ed400_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsForSoftware" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment in software</link:label>
    <link:label id="lab_us-gaap_PaymentsForSoftware_label_en-US" xlink:label="lab_us-gaap_PaymentsForSoftware" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for Software</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForSoftware" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsForSoftware"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForSoftware" xlink:to="lab_us-gaap_PaymentsForSoftware" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligation_8a785cf4-0d08-4c76-8b8e-f2a207f90b55_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Remaining performance obligations</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligation_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligation" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligation" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_9e672e1d-3f13-4ac5-9c71-5c7ac7108ee0_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment and Related Information</link:label>
    <link:label id="lab_us-gaap_SegmentReportingDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingDisclosureTextBlock" xlink:to="lab_us-gaap_SegmentReportingDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityAbstract_01665cc3-82eb-4fdd-9cbd-b5278788cc9a_terseLabel_en-US" xlink:label="lab_us-gaap_EquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity [Abstract]</link:label>
    <link:label id="lab_us-gaap_EquityAbstract_label_en-US" xlink:label="lab_us-gaap_EquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityAbstract" xlink:to="lab_us-gaap_EquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_9d7007ae-b03c-4dd7-a6a5-34307b419305_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of credit facility, unused borrowing capacity</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility, Remaining Borrowing Capacity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:to="lab_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentReportingInformationLineItems_6eb754f5-c798-4a1a-bcc6-640ad97f687b_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentReportingInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting Information</link:label>
    <link:label id="lab_us-gaap_SegmentReportingInformationLineItems_label_en-US" xlink:label="lab_us-gaap_SegmentReportingInformationLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segment Reporting Information [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems" xlink:to="lab_us-gaap_SegmentReportingInformationLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_a5f335d2-b58b-4015-8b01-98e147af2cd5_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accounts Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentQuarterlyReport_fb4bf81d-b871-441e-999a-459ff0b287cf_terseLabel_en-US" xlink:label="lab_dei_DocumentQuarterlyReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:label id="lab_dei_DocumentQuarterlyReport_label_en-US" xlink:label="lab_dei_DocumentQuarterlyReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Quarterly Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentQuarterlyReport" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentQuarterlyReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentQuarterlyReport" xlink:to="lab_dei_DocumentQuarterlyReport" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingencies_1b5ccb95-47e7-4618-91e0-d750f665dfe3_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingencies" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and contingencies</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingencies_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingencies" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingencies" xlink:to="lab_us-gaap_CommitmentsAndContingencies" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_ff906ee6-6e0c-4180-8589-0a4c112837c7_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Financial Position [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract" xlink:to="lab_us-gaap_StatementOfFinancialPositionAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_3a5f4732-6fbe-4d6e-9bf9-828636af6ced_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue recognition</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityNoncurrent_1fc38ddc-43c8-41cd-9ce6-6a190fac5778_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue, long-term</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityNoncurrent_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_87cfaf16-0317-40a4-8652-b300b31aaac4_periodStartLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents at beginning of period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_7358c200-0ffa-4408-bf9d-1904d0e67f3c_periodEndLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents at end of period</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain_6865143d-021c-4b12-acfd-d2defbabeb00_terseLabel_en-US" xlink:label="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Timing of Transfer of Good or Service [Domain]</link:label>
    <link:label id="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain_label_en-US" xlink:label="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Timing of Transfer of Good or Service [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="lab_us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_ContractWithCustomerLiabilityIncreaseFromDeferral_ea7d64e4-09da-4b5e-b6b3-dddd7a65710c_terseLabel_en-US" xlink:label="lab_tyl_ContractWithCustomerLiabilityIncreaseFromDeferral" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferral of revenue</link:label>
    <link:label id="lab_tyl_ContractWithCustomerLiabilityIncreaseFromDeferral_label_en-US" xlink:label="lab_tyl_ContractWithCustomerLiabilityIncreaseFromDeferral" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer, Liability, Increase From Deferral</link:label>
    <link:label id="lab_tyl_ContractWithCustomerLiabilityIncreaseFromDeferral_documentation_en-US" xlink:label="lab_tyl_ContractWithCustomerLiabilityIncreaseFromDeferral" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract With Customer, Liability, Increase From Deferral</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_ContractWithCustomerLiabilityIncreaseFromDeferral" xlink:href="tyl-20200331.xsd#tyl_ContractWithCustomerLiabilityIncreaseFromDeferral"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_ContractWithCustomerLiabilityIncreaseFromDeferral" xlink:to="lab_tyl_ContractWithCustomerLiabilityIncreaseFromDeferral" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_EnterpriseSoftwareMember_4cf73713-ebaa-49e5-b62f-daa51c3e7859_terseLabel_en-US" xlink:label="lab_tyl_EnterpriseSoftwareMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Enterprise Software</link:label>
    <link:label id="lab_tyl_EnterpriseSoftwareMember_label_en-US" xlink:label="lab_tyl_EnterpriseSoftwareMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Enterprise Software [Member]</link:label>
    <link:label id="lab_tyl_EnterpriseSoftwareMember_documentation_en-US" xlink:label="lab_tyl_EnterpriseSoftwareMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Enterprise software.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_EnterpriseSoftwareMember" xlink:href="tyl-20200331.xsd#tyl_EnterpriseSoftwareMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_EnterpriseSoftwareMember" xlink:to="lab_tyl_EnterpriseSoftwareMember" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_OperatingLeaseRightOfUseAssetsNonCash_b5819ef4-fb3c-42df-8594-37a9dc51b6b1_terseLabel_en-US" xlink:label="lab_tyl_OperatingLeaseRightOfUseAssetsNonCash" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease right-of-use assets expense</link:label>
    <link:label id="lab_tyl_OperatingLeaseRightOfUseAssetsNonCash_label_en-US" xlink:label="lab_tyl_OperatingLeaseRightOfUseAssetsNonCash" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease Right Of Use Assets Non Cash</link:label>
    <link:label id="lab_tyl_OperatingLeaseRightOfUseAssetsNonCash_documentation_en-US" xlink:label="lab_tyl_OperatingLeaseRightOfUseAssetsNonCash" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease Right Of Use Assets Non Cash</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_OperatingLeaseRightOfUseAssetsNonCash" xlink:href="tyl-20200331.xsd#tyl_OperatingLeaseRightOfUseAssetsNonCash"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_OperatingLeaseRightOfUseAssetsNonCash" xlink:to="lab_tyl_OperatingLeaseRightOfUseAssetsNonCash" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ConsolidationItemsDomain_c25818d2-298f-4392-b8cd-ee0ff3c67ee7_verboseLabel_en-US" xlink:label="lab_srt_ConsolidationItemsDomain" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation Items [Domain]</link:label>
    <link:label id="lab_srt_ConsolidationItemsDomain_label_en-US" xlink:label="lab_srt_ConsolidationItemsDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation Items [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ConsolidationItemsDomain" xlink:to="lab_srt_ConsolidationItemsDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityMethodInvestmentOwnershipPercentage_e62c564a-aea6-44c2-acb9-3e4e1a2b874f_terseLabel_en-US" xlink:label="lab_us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ownership percentage (percent)</link:label>
    <link:label id="lab_us-gaap_EquityMethodInvestmentOwnershipPercentage_label_en-US" xlink:label="lab_us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Method Investment, Ownership Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:to="lab_us-gaap_EquityMethodInvestmentOwnershipPercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtDisclosureTextBlock_b9c810c9-74f3-4f73-843a-2fb91097383a_terseLabel_en-US" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving Line of Credit</link:label>
    <link:label id="lab_us-gaap_DebtDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtDisclosureTextBlock" xlink:to="lab_us-gaap_DebtDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_CustomerListsAndTradeNameMember_8530c96a-a0ef-4bd2-8f74-cfad81547203_terseLabel_en-US" xlink:label="lab_tyl_CustomerListsAndTradeNameMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer and trade name</link:label>
    <link:label id="lab_tyl_CustomerListsAndTradeNameMember_label_en-US" xlink:label="lab_tyl_CustomerListsAndTradeNameMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Lists And Trade Name [Member]</link:label>
    <link:label id="lab_tyl_CustomerListsAndTradeNameMember_documentation_en-US" xlink:label="lab_tyl_CustomerListsAndTradeNameMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer Lists And Trade Name [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CustomerListsAndTradeNameMember" xlink:href="tyl-20200331.xsd#tyl_CustomerListsAndTradeNameMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_CustomerListsAndTradeNameMember" xlink:to="lab_tyl_CustomerListsAndTradeNameMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostAmortization_96bd3e86-db00-4634-89e1-95654e8fe334_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred commissions amortization</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostAmortization_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortization" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostAmortization" xlink:to="lab_us-gaap_CapitalizedContractCostAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableLeaseCost_d345d284-cd4d-4c21-90a9-ea576e95ac51_terseLabel_en-US" xlink:label="lab_us-gaap_VariableLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable lease cost</link:label>
    <link:label id="lab_us-gaap_VariableLeaseCost_label_en-US" xlink:label="lab_us-gaap_VariableLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableLeaseCost" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableLeaseCost" xlink:to="lab_us-gaap_VariableLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_6b9e0c33-2909-413c-9e44-3466bc40c4aa_terseLabel_en-US" xlink:label="lab_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment, Name [Axis]</link:label>
    <link:label id="lab_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_label_en-US" xlink:label="lab_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment, Name [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:to="lab_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_3be14d48-5ca4-4362-b520-98912edaf05f_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares authorized (shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesAuthorized" xlink:to="lab_us-gaap_CommonStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage_955f13ce-d93b-4105-9027-a1b86e471284_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, remaining performance obligation, percentage</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Percentage</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationPercentage" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromSaleOfEquityMethodInvestments_83c4ea2b-4e08-4e5c-bffb-c44671e8d6aa_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from the sale of investment in preferred shares</link:label>
    <link:label id="lab_us-gaap_ProceedsFromSaleOfEquityMethodInvestments_label_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Sale of Equity Method Investments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:to="lab_us-gaap_ProceedsFromSaleOfEquityMethodInvestments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_7ea402b9-c0d3-4af4-8a2d-a39088472eb6_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Cash Flows [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract" xlink:to="lab_us-gaap_StatementOfCashFlowsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableNet_cca58ad2-742b-49d2-abc6-148622f42b52_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable, net</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNet_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNet" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNet" xlink:to="lab_us-gaap_AccountsReceivableNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFiveYears_40a65098-56e8-498e-8e04-87f0c3e7248b_terseLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFiveYears" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFiveYears_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFiveYears" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessor, Operating Lease, Payments to be Received, Five Years</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFiveYears" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedFiveYears"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFiveYears" xlink:to="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFiveYears" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCentralIndexKey_d988428d-805f-4b7d-9f64-a991c8549b12_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:label id="lab_dei_EntityCentralIndexKey_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Central Index Key</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCentralIndexKey"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey" xlink:to="lab_dei_EntityCentralIndexKey" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFileNumber_1f2c4096-73c3-4f31-b419-0863ec1709e7_terseLabel_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:label id="lab_dei_EntityFileNumber_label_en-US" xlink:label="lab_dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity File Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFileNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFileNumber" xlink:to="lab_dei_EntityFileNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionLineItems_1f85653d-ef41-47be-83e3-9c08be9f20da_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description</link:label>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionLineItems_label_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems" xlink:to="lab_us-gaap_LesseeLeaseDescriptionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract_b7483977-402b-4260-8bcb-ff0426a471da_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings per common share:</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic and Diluted [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:to="lab_us-gaap_EarningsPerShareBasicAndDilutedAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_4fab6396-666b-4fd3-aeed-ac8e6a1ad435_terseLabel_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:label id="lab_dei_EntityEmergingGrowthCompany_label_en-US" xlink:label="lab_dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Emerging Growth Company</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityEmergingGrowthCompany" xlink:to="lab_dei_EntityEmergingGrowthCompany" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_e9dbb3b6-7c09-4c3c-b8fe-84f03911ecf6_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, general and administrative expenses</link:label>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, General and Administrative Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_e57fbcf7-bddd-4d23-a380-333c2a61dd41_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Expected timing of satisfaction period</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShareBasedCompensation_69041a3b-0198-4db0-b4ed-36e25f1b17be_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based compensation expense</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Noncash Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensation" xlink:to="lab_us-gaap_ShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_25bcee70-f63d-4cb2-8665-1d165b61a31f_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_f5397358-7b4a-4b53-b196-2276d259b547_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating leases, short-term</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_f3d09339-0796-47b7-a81a-d55cc51cf08b_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Computation of reconciliation of basic earnings per share to diluted earnings per share</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromLinesOfCredit_1b92d7cb-0aa6-4d76-bdda-4ac237e92be8_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromLinesOfCredit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase in net borrowings on revolving line of credit</link:label>
    <link:label id="lab_us-gaap_ProceedsFromLinesOfCredit_label_en-US" xlink:label="lab_us-gaap_ProceedsFromLinesOfCredit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Lines of Credit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLinesOfCredit" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromLinesOfCredit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromLinesOfCredit" xlink:to="lab_us-gaap_ProceedsFromLinesOfCredit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockMember_5cb75a2e-4a4f-4bfc-9cae-d40a9e5fe827_terseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock</link:label>
    <link:label id="lab_us-gaap_TreasuryStockMember_label_en-US" xlink:label="lab_us-gaap_TreasuryStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockMember" xlink:to="lab_us-gaap_TreasuryStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears_4b4818cf-8df0-4801-9eb6-4356164d9823_terseLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2021</link:label>
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessor, Operating Lease, Payments to be Received, Two Years</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears" xlink:to="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_NumberOfLegalProceedingsThatHaveMaterialEffect_e035b036-9a96-4f74-acb8-c8dd48cb7e95_terseLabel_en-US" xlink:label="lab_tyl_NumberOfLegalProceedingsThatHaveMaterialEffect" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of material legal proceedings pending</link:label>
    <link:label id="lab_tyl_NumberOfLegalProceedingsThatHaveMaterialEffect_label_en-US" xlink:label="lab_tyl_NumberOfLegalProceedingsThatHaveMaterialEffect" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number Of Legal Proceedings That Have Material Effect</link:label>
    <link:label id="lab_tyl_NumberOfLegalProceedingsThatHaveMaterialEffect_documentation_en-US" xlink:label="lab_tyl_NumberOfLegalProceedingsThatHaveMaterialEffect" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of legal proceedings that have material effect.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_NumberOfLegalProceedingsThatHaveMaterialEffect" xlink:href="tyl-20200331.xsd#tyl_NumberOfLegalProceedingsThatHaveMaterialEffect"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_NumberOfLegalProceedingsThatHaveMaterialEffect" xlink:to="lab_tyl_NumberOfLegalProceedingsThatHaveMaterialEffect" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementBusinessSegmentsAxis_0c8c4bc7-4464-4b9c-99d2-f8ff19a5bfd6_terseLabel_en-US" xlink:label="lab_us-gaap_StatementBusinessSegmentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments</link:label>
    <link:label id="lab_us-gaap_StatementBusinessSegmentsAxis_label_en-US" xlink:label="lab_us-gaap_StatementBusinessSegmentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis" xlink:to="lab_us-gaap_StatementBusinessSegmentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears_e39c306d-1e46-448e-9852-0a3f217d9a5a_terseLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022</link:label>
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessor, Operating Lease, Payments to be Received, Three Years</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears" xlink:to="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_e614e860-7eb5-4fcb-9835-e9f7b4a8d9b5_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Period Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalPeriodFocus" xlink:to="lab_dei_DocumentFiscalPeriodFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharesIssued_8b74cffa-056a-4d31-868b-a7ec84a7686b_periodStartLabel_en-US" xlink:label="lab_us-gaap_SharesIssued" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Beginning balance (in shares)</link:label>
    <link:label id="lab_us-gaap_SharesIssued_665f7068-c58f-48aa-99b7-66d8f4ebf6f8_periodEndLabel_en-US" xlink:label="lab_us-gaap_SharesIssued" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Ending balance (in shares)</link:label>
    <link:label id="lab_us-gaap_SharesIssued_label_en-US" xlink:label="lab_us-gaap_SharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesIssued" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharesIssued" xlink:to="lab_us-gaap_SharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_5f3c4e7a-809e-4690-85d5-6fda963b0074_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise of stock options and vesting of restricted stock units</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CreditFacilityDomain_295bf5b9-a1a8-4027-be5b-0d204de2e5a2_terseLabel_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility</link:label>
    <link:label id="lab_us-gaap_CreditFacilityDomain_label_en-US" xlink:label="lab_us-gaap_CreditFacilityDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Credit Facility [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CreditFacilityDomain" xlink:to="lab_us-gaap_CreditFacilityDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UnbilledRevenuesMember_7ac39333-67ed-4282-a396-f3652a9b1853_terseLabel_en-US" xlink:label="lab_us-gaap_UnbilledRevenuesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unbilled Revenues</link:label>
    <link:label id="lab_us-gaap_UnbilledRevenuesMember_label_en-US" xlink:label="lab_us-gaap_UnbilledRevenuesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Unbilled Revenues [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnbilledRevenuesMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnbilledRevenuesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnbilledRevenuesMember" xlink:to="lab_us-gaap_UnbilledRevenuesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockValue_3c29d9aa-536e-4b1c-adc9-ce1a8131e798_negatedLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockValue" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury stock, at cost; 8,397,086 and 8,839,352 shares in 2020 and 2019, respectively</link:label>
    <link:label id="lab_us-gaap_TreasuryStockValue_label_en-US" xlink:label="lab_us-gaap_TreasuryStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockValue" xlink:to="lab_us-gaap_TreasuryStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_bc99ab97-839a-4a77-98e6-9b242e1ddbb8_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2020 (Remaining 2020)</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductsAndServicesDomain_644fcfae-3fdd-454d-a358-e9da66e65328_terseLabel_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:label id="lab_srt_ProductsAndServicesDomain_label_en-US" xlink:label="lab_srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductsAndServicesDomain" xlink:to="lab_srt_ProductsAndServicesDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseTermOfContract_d42f6d77-a8d2-494a-be32-5aef2b469fb7_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease term</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseTermOfContract_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Term of Contract</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseTermOfContract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:to="lab_us-gaap_LesseeOperatingLeaseTermOfContract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_e5faaf7c-2941-4c4c-a0f7-04d36af17cad_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Provision</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="lab_us-gaap_IncomeTaxDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShortTermDebtTypeAxis_f5dc12b8-45de-4004-bead-fd86fefd8656_terseLabel_en-US" xlink:label="lab_us-gaap_ShortTermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term Debt, Type</link:label>
    <link:label id="lab_us-gaap_ShortTermDebtTypeAxis_label_en-US" xlink:label="lab_us-gaap_ShortTermDebtTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term Debt, Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermDebtTypeAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermDebtTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShortTermDebtTypeAxis" xlink:to="lab_us-gaap_ShortTermDebtTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_aed94187-1bc9-490e-ac5e-bcdfe0e29ab8_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Excess tax benefit</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-based Payment Arrangement, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquireMarketableSecurities_73c25e89-622c-4861-a00d-c6bbdd4479b6_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireMarketableSecurities" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase of marketable security investments</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireMarketableSecurities_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireMarketableSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Marketable Securities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireMarketableSecurities" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireMarketableSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireMarketableSecurities" xlink:to="lab_us-gaap_PaymentsToAcquireMarketableSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_a53ac97e-4490-4d79-9fff-f8f5b7de91f1_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating income</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_04634180-f9c9-4e5c-9190-6d107fc32393_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating income</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_f01fbfdd-d078-4a1c-a1d9-044d89b911d5_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total segment operating income</link:label>
    <link:label id="lab_us-gaap_OperatingIncomeLoss_label_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Income (Loss)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingIncomeLoss" xlink:to="lab_us-gaap_OperatingIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_CorporateAndEliminationsMember_765d16bb-f681-491c-8cdb-5955e2d39d12_terseLabel_en-US" xlink:label="lab_tyl_CorporateAndEliminationsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate and Elimination</link:label>
    <link:label id="lab_tyl_CorporateAndEliminationsMember_label_en-US" xlink:label="lab_tyl_CorporateAndEliminationsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate And Eliminations [Member]</link:label>
    <link:label id="lab_tyl_CorporateAndEliminationsMember_documentation_en-US" xlink:label="lab_tyl_CorporateAndEliminationsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate And Eliminations [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CorporateAndEliminationsMember" xlink:href="tyl-20200331.xsd#tyl_CorporateAndEliminationsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_CorporateAndEliminationsMember" xlink:to="lab_tyl_CorporateAndEliminationsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_RecurringRevenueMember_98f8f098-2ebf-4366-b38c-f8e1e9415da1_terseLabel_en-US" xlink:label="lab_tyl_RecurringRevenueMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recurring revenues</link:label>
    <link:label id="lab_tyl_RecurringRevenueMember_label_en-US" xlink:label="lab_tyl_RecurringRevenueMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recurring Revenue [Member]</link:label>
    <link:label id="lab_tyl_RecurringRevenueMember_documentation_en-US" xlink:label="lab_tyl_RecurringRevenueMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recurring Revenue [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_RecurringRevenueMember" xlink:href="tyl-20200331.xsd#tyl_RecurringRevenueMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_RecurringRevenueMember" xlink:to="lab_tyl_RecurringRevenueMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_Goodwill_5d20d695-e799-4dad-b94e-c0321c24dd6b_terseLabel_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:label id="lab_us-gaap_Goodwill_label_en-US" xlink:label="lab_us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Goodwill</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Goodwill"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Goodwill" xlink:to="lab_us-gaap_Goodwill" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesIssued_fe131d08-7e1a-4b7f-ad7d-b2402dcdd761_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, shares issued (shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesIssued" xlink:to="lab_us-gaap_PreferredStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProductMember_e4468791-bf11-45aa-87c2-7d54f511f55e_terseLabel_en-US" xlink:label="lab_us-gaap_ProductMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hardware and other</link:label>
    <link:label id="lab_us-gaap_ProductMember_label_en-US" xlink:label="lab_us-gaap_ProductMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductMember" xlink:to="lab_us-gaap_ProductMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SegmentDomain_5b460a1f-1f63-44d1-9eac-71762c943e48_terseLabel_en-US" xlink:label="lab_us-gaap_SegmentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments</link:label>
    <link:label id="lab_us-gaap_SegmentDomain_label_en-US" xlink:label="lab_us-gaap_SegmentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Segments [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SegmentDomain" xlink:to="lab_us-gaap_SegmentDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementLineItems_ba6a4cb3-84d5-4f3f-bb44-2471cf41bfbb_terseLabel_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:label id="lab_us-gaap_StatementLineItems_label_en-US" xlink:label="lab_us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementLineItems" xlink:to="lab_us-gaap_StatementLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_a39f142d-d4c3-4428-8d1f-8e3efe5643d4_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">LIABILITIES AND SHAREHOLDERS' EQUITY</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_b35ae6ea-b853-497b-80e5-4382ac24a8ee_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total revenues</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_0d21ba14-4220-4243-b7c9-77c5bd3239e5_verboseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total Revenue</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer, Excluding Assessed Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTableTextBlock_d5f928f4-f776-4062-b9b3-a317fee23c6e_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of disaggregation of revenue</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTableTextBlock_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="lab_us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceived_9105096e-b16a-4db7-bd00-8d96c9b96a30_totalLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceived" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total</link:label>
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceived_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceived" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessor, Operating Lease, Payments to be Received</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceived"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived" xlink:to="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceived" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_4bd8558f-a0b9-44ae-8761-679930438ea3_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Exercise of stock options and vesting of restricted stock units (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_fc13de50-575b-4db0-9a50-cc3696884dc8_verboseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock option exercises (in shares)</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shares Issued, Shares, Share-based Payment Arrangement, after Forfeiture</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_d402e2a5-fd2b-4eca-81d2-5e8f167e4a0a_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basic (usd per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareBasic_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareBasic" xlink:to="lab_us-gaap_EarningsPerShareBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_b9c305fa-1a3b-461f-8766-4bb736ce0bb1_terseLabel_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_label_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_HardwareandOtherMember_9e2e2abd-2b7c-4760-b383-cf7d5cc80150_terseLabel_en-US" xlink:label="lab_tyl_HardwareandOtherMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hardware and other</link:label>
    <link:label id="lab_tyl_HardwareandOtherMember_label_en-US" xlink:label="lab_tyl_HardwareandOtherMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hardware and Other [Member]</link:label>
    <link:label id="lab_tyl_HardwareandOtherMember_documentation_en-US" xlink:label="lab_tyl_HardwareandOtherMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Hardware and Other [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_HardwareandOtherMember" xlink:href="tyl-20200331.xsd#tyl_HardwareandOtherMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_HardwareandOtherMember" xlink:to="lab_tyl_HardwareandOtherMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_1fa60a3d-9ce9-41bd-8323-e4ed59c6b826_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flows from operating activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_b271e08f-4b31-434d-b5d6-ca73702cfdf4_terseLabel_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement of Stockholders' Equity [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="lab_us-gaap_StatementOfStockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_AmendmentFlag_c3eccc63-984b-4812-8220-d00e4124aa46_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:label id="lab_dei_AmendmentFlag_label_en-US" xlink:label="lab_dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentFlag"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag" xlink:to="lab_dei_AmendmentFlag" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_be500dc0-15a2-44e7-b759-6fa6f5c5a4fe_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additions to property and equipment</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TransferredAtPointInTimeMember_3db617ef-f815-4f1a-acac-9358ef39bc67_terseLabel_en-US" xlink:label="lab_us-gaap_TransferredAtPointInTimeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Products and services transferred at a point in time</link:label>
    <link:label id="lab_us-gaap_TransferredAtPointInTimeMember_label_en-US" xlink:label="lab_us-gaap_TransferredAtPointInTimeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Transferred at Point in Time [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredAtPointInTimeMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TransferredAtPointInTimeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TransferredAtPointInTimeMember" xlink:to="lab_us-gaap_TransferredAtPointInTimeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_dcb38a6f-cc75-45ab-9596-b7830b24a9cc_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changes in operating assets and liabilities, exclusive of effects of &#160;&#160; acquired companies:</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Operating Capital [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="lab_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_9f96d4fa-2c8f-46ed-b0c5-853ef7933548_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares outstanding (shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesOutstanding_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesOutstanding" xlink:to="lab_us-gaap_CommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostTable_9793115f-a040-42a0-beb8-87e8ce4b179e_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost [Table]</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostTable_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostTable" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostTable" xlink:to="lab_us-gaap_CapitalizedContractCostTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_8bffbc62-965b-4486-a93d-40df2bd3942e_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2024</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MajorCustomersAxis_1db37f36-bc44-4121-b2e4-1ed91f595fd8_terseLabel_en-US" xlink:label="lab_srt_MajorCustomersAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Axis]</link:label>
    <link:label id="lab_srt_MajorCustomersAxis_label_en-US" xlink:label="lab_srt_MajorCustomersAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Customer [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MajorCustomersAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MajorCustomersAxis" xlink:to="lab_srt_MajorCustomersAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ConsolidationItemsAxis_bc096d50-c1b4-43ba-a111-1b24e800f0ff_terseLabel_en-US" xlink:label="lab_srt_ConsolidationItemsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation Items</link:label>
    <link:label id="lab_srt_ConsolidationItemsAxis_label_en-US" xlink:label="lab_srt_ConsolidationItemsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Consolidation Items [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ConsolidationItemsAxis" xlink:to="lab_srt_ConsolidationItemsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_70d998b3-a373-4cb0-9da8-d24eeaaf5e75_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Changes in deferred revenue</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Asset and Liability [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="lab_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_InterestReceivable_74601416-b1ea-402a-8b66-42564f81a985_terseLabel_en-US" xlink:label="lab_us-gaap_InterestReceivable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest receivable</link:label>
    <link:label id="lab_us-gaap_InterestReceivable_label_en-US" xlink:label="lab_us-gaap_InterestReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Interest Receivable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestReceivable" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InterestReceivable" xlink:to="lab_us-gaap_InterestReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_227850a7-9ef9-4bdb-9d72-dc92c00301be_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shareholders' Equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Note Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_MaintenanceMember_95715c57-0e34-4a6f-99e2-2343ede632fb_verboseLabel_en-US" xlink:label="lab_us-gaap_MaintenanceMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maintenance</link:label>
    <link:label id="lab_us-gaap_MaintenanceMember_0b14a19c-bdd1-44f9-ab55-41f4a08de796_terseLabel_en-US" xlink:label="lab_us-gaap_MaintenanceMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maintenance</link:label>
    <link:label id="lab_us-gaap_MaintenanceMember_label_en-US" xlink:label="lab_us-gaap_MaintenanceMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maintenance [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MaintenanceMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MaintenanceMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MaintenanceMember" xlink:to="lab_us-gaap_MaintenanceMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_UseOfEstimates_18e324b5-0ab7-4525-8dda-d5a796fcff73_terseLabel_en-US" xlink:label="lab_us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Use of estimates</link:label>
    <link:label id="lab_us-gaap_UseOfEstimates_label_en-US" xlink:label="lab_us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Use of Estimates, Policy [Policy Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UseOfEstimates" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UseOfEstimates"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UseOfEstimates" xlink:to="lab_us-gaap_UseOfEstimates" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_49681dd7-1007-480b-bea1-e2adc0f24448_terseLabel_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Basis of Presentation</link:label>
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeasesOfLessorDisclosureTextBlock_4abe2826-1f02-4dbd-8333-1de7bc1f993e_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasesOfLessorDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_OperatingLeasesOfLessorDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_OperatingLeasesOfLessorDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessor, Operating Leases [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasesOfLessorDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesOfLessorDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasesOfLessorDisclosureTextBlock" xlink:to="lab_us-gaap_OperatingLeasesOfLessorDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_5bc993a9-7a50-48a9-8637-9890eb6e729f_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_label_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Policies [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingPoliciesAbstract" xlink:to="lab_us-gaap_AccountingPoliciesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_5928a256-7390-410c-bff0-6a3d220d252e_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income tax receivable</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Income Taxes Payable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_dcdf2a2f-12e4-498d-99dc-e2a80af7c642_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid-in Capital [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalMember" xlink:to="lab_us-gaap_AdditionalPaidInCapitalMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_b5022735-604c-4fed-bf5d-916c1717c3a9_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Commissions</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_12c06e01-48e7-43f4-bf0e-3a090f6971ad_verboseLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_48f2eb43-0de4-4b08-a078-df8875bcbfd6_netLabel_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2009/role/netLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Revenue and Performance Obligations</link:label>
    <link:label id="lab_us-gaap_RevenueFromContractWithCustomerTextBlock_label_en-US" xlink:label="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue from Contract with Customer [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="lab_us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_LocalPhoneNumber_5e5d74d6-a39f-4ab4-ba23-fa6e0c909b95_terseLabel_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:label id="lab_dei_LocalPhoneNumber_label_en-US" xlink:label="lab_dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Local Phone Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LocalPhoneNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_LocalPhoneNumber" xlink:to="lab_dei_LocalPhoneNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLeaseIncomeTableTextBlock_e2ef21e0-8486-424d-979a-e17d8901807f_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLeaseIncomeTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of future minimum operating rental income</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLeaseIncomeTableTextBlock_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLeaseIncomeTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Lease Income [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLeaseIncomeTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLeaseIncomeTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLeaseIncomeTableTextBlock" xlink:to="lab_us-gaap_OperatingLeaseLeaseIncomeTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReceivableTypeDomain_a6cd5059-a0b4-4b9c-9c69-1496d731f5a6_terseLabel_en-US" xlink:label="lab_us-gaap_ReceivableTypeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivable [Domain]</link:label>
    <link:label id="lab_us-gaap_ReceivableTypeDomain_label_en-US" xlink:label="lab_us-gaap_ReceivableTypeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivable [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivableTypeDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivableTypeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReceivableTypeDomain" xlink:to="lab_us-gaap_ReceivableTypeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PrepaidExpenseCurrent_8b2aceb2-3ed1-4e83-aaf1-61294260fefb_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpenseCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid expenses</link:label>
    <link:label id="lab_us-gaap_PrepaidExpenseCurrent_label_en-US" xlink:label="lab_us-gaap_PrepaidExpenseCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Prepaid Expense, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrepaidExpenseCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpenseCurrent" xlink:to="lab_us-gaap_PrepaidExpenseCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_c1a2c7bc-077b-4837-bb09-88078b5d7332_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued liabilities</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Accrued Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_05b8c6e8-5c3f-46c8-9e45-d63547772988_totalLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total lease payments</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_6a6a203a-acf1-4222-9ee3-afbea7d2197f_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred income taxes</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Liabilities, Net</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_b4bdbe0a-c122-4341-9561-7532071be2cf_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable (less allowance for losses and sales adjustments of $6,470 in 2020 and $5,738 in 2019)</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent" xlink:to="lab_us-gaap_AccountsReceivableNetCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_44f288e2-7dce-4344-b196-e298802289e4_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of acquisitions, net of cash acquired</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Businesses, Net of Cash Acquired</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:to="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_965455cf-5abd-4895-9114-2f45fbbcad7d_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of share-based compensation expense related to share-based awards recorded in the statements of income</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressAddressLine1_a31f29d9-d3b6-4d43-9406-b70b3899592d_terseLabel_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:label id="lab_dei_EntityAddressAddressLine1_label_en-US" xlink:label="lab_dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, Address Line One</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine1"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressAddressLine1" xlink:to="lab_dei_EntityAddressAddressLine1" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionAcquireeDomain_b6ecd91f-2b9f-499c-83cf-e92b600dcb44_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionAcquireeDomain_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition, Acquiree [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="lab_us-gaap_BusinessAcquisitionAcquireeDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationsAbstract_bb40af26-8b6e-46db-a0d8-00e7dd57f40a_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combinations [Abstract]</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationsAbstract_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combinations [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationsAbstract" xlink:to="lab_us-gaap_BusinessCombinationsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_fd23efe2-9db7-4526-9238-ca20d8ec1817_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShortTermLeaseCost_a80aab2e-7f42-4962-b2b7-b8c3fe854a43_terseLabel_en-US" xlink:label="lab_us-gaap_ShortTermLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term lease cost</link:label>
    <link:label id="lab_us-gaap_ShortTermLeaseCost_label_en-US" xlink:label="lab_us-gaap_ShortTermLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermLeaseCost" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShortTermLeaseCost" xlink:to="lab_us-gaap_ShortTermLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_GrossProfit_2f8ee5ff-b9da-4bd1-968a-fa44736dfe3a_totalLabel_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross profit</link:label>
    <link:label id="lab_us-gaap_GrossProfit_label_en-US" xlink:label="lab_us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Gross Profit</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GrossProfit" xlink:to="lab_us-gaap_GrossProfit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LongTermLineOfCredit_59363bb5-1128-4215-80c0-6bb90136277e_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermLineOfCredit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving line of credit</link:label>
    <link:label id="lab_us-gaap_LongTermLineOfCredit_0bd61576-fd8e-47b6-8809-cc2aebca313f_verboseLabel_en-US" xlink:label="lab_us-gaap_LongTermLineOfCredit" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Outstanding borrowings</link:label>
    <link:label id="lab_us-gaap_LongTermLineOfCredit_label_en-US" xlink:label="lab_us-gaap_LongTermLineOfCredit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Long-term Line of Credit, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermLineOfCredit" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermLineOfCredit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermLineOfCredit" xlink:to="lab_us-gaap_LongTermLineOfCredit" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_SalesCommissionsAmortizationPeriod_49014080-525d-476f-a357-b454bcb73b18_terseLabel_en-US" xlink:label="lab_tyl_SalesCommissionsAmortizationPeriod" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales commissions amortization period</link:label>
    <link:label id="lab_tyl_SalesCommissionsAmortizationPeriod_label_en-US" xlink:label="lab_tyl_SalesCommissionsAmortizationPeriod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales Commissions Amortization Period</link:label>
    <link:label id="lab_tyl_SalesCommissionsAmortizationPeriod_documentation_en-US" xlink:label="lab_tyl_SalesCommissionsAmortizationPeriod" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Sales Commissions Amortization Period</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_SalesCommissionsAmortizationPeriod" xlink:href="tyl-20200331.xsd#tyl_SalesCommissionsAmortizationPeriod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_SalesCommissionsAmortizationPeriod" xlink:to="lab_tyl_SalesCommissionsAmortizationPeriod" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentNameDomain_7481fbee-1a37-417c-94a6-09203b23b231_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Name</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentNameDomain_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentNameDomain" xlink:to="lab_us-gaap_DebtInstrumentNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressStateOrProvince_b760f79f-778a-49b7-9408-b7d2e5f5df75_terseLabel_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:label id="lab_dei_EntityAddressStateOrProvince_label_en-US" xlink:label="lab_dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, State or Province</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressStateOrProvince"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressStateOrProvince" xlink:to="lab_dei_EntityAddressStateOrProvince" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_dc64cbea-3b56-4634-a8f5-ec2f5b4a97c8_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location</link:label>
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement Location [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationAxis" xlink:to="lab_us-gaap_IncomeStatementLocationAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseRenewalTerm_14e78f21-461d-4636-8f01-3bcd51859349_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease renewal term (up to)</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseRenewalTerm_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Renewal Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:to="lab_us-gaap_LesseeOperatingLeaseRenewalTerm" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionAxis_4e701d57-ed8c-47ff-96ab-8a1d6d7aac3c_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionAxis_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAxis" xlink:to="lab_us-gaap_BusinessAcquisitionAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromStockPlans_dfcc0f36-cc0f-49de-8e5f-67dc8b0d63e9_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromStockPlans" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contributions from employee stock purchase plan</link:label>
    <link:label id="lab_us-gaap_ProceedsFromStockPlans_label_en-US" xlink:label="lab_us-gaap_ProceedsFromStockPlans" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Stock Plans</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockPlans" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromStockPlans"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromStockPlans" xlink:to="lab_us-gaap_ProceedsFromStockPlans" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrent_98821d9a-1f50-4cbc-933d-30aa8f49c63d_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total current assets</link:label>
    <link:label id="lab_us-gaap_AssetsCurrent_label_en-US" xlink:label="lab_us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrent" xlink:to="lab_us-gaap_AssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCurrentReportingStatus_17617349-5066-4b35-973d-0131b3c95215_terseLabel_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:label id="lab_dei_EntityCurrentReportingStatus_label_en-US" xlink:label="lab_dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Current Reporting Status</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCurrentReportingStatus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCurrentReportingStatus" xlink:to="lab_dei_EntityCurrentReportingStatus" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingSegmentsMember_30f66664-648a-4797-91cf-1e7c89ef1aef_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingSegmentsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating segments</link:label>
    <link:label id="lab_us-gaap_OperatingSegmentsMember_label_en-US" xlink:label="lab_us-gaap_OperatingSegmentsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Segments [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingSegmentsMember" xlink:to="lab_us-gaap_OperatingSegmentsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IntersegmentEliminationMember_b9904cf4-9110-4d67-ac17-67829546c4e5_terseLabel_en-US" xlink:label="lab_us-gaap_IntersegmentEliminationMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intercompany</link:label>
    <link:label id="lab_us-gaap_IntersegmentEliminationMember_label_en-US" xlink:label="lab_us-gaap_IntersegmentEliminationMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Intersegment Eliminations [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntersegmentEliminationMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntersegmentEliminationMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntersegmentEliminationMember" xlink:to="lab_us-gaap_IntersegmentEliminationMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_827c4ccd-92fe-4622-80fb-a51e38024062_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash used by investing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_6a867272-ec40-4b35-96b3-b56c466884ab_totalLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net increase (decrease) in cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_CumulativeEffectPeriodOfAdoptionAdjustmentMember_8474d485-350c-4bd4-8028-f63f847ecd86_terseLabel_en-US" xlink:label="lab_tyl_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption, Adjustment</link:label>
    <link:label id="lab_tyl_CumulativeEffectPeriodOfAdoptionAdjustmentMember_label_en-US" xlink:label="lab_tyl_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption, Adjustment [Member]</link:label>
    <link:label id="lab_tyl_CumulativeEffectPeriodOfAdoptionAdjustmentMember_documentation_en-US" xlink:label="lab_tyl_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption, Adjustment</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:href="tyl-20200331.xsd#tyl_CumulativeEffectPeriodOfAdoptionAdjustmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:to="lab_tyl_CumulativeEffectPeriodOfAdoptionAdjustmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetIncomeLoss_3264da16-19eb-4466-bbb0-261e2e2b1772_totalLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_d5954921-3e71-4f24-bc96-859f0a83c22f_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net income</link:label>
    <link:label id="lab_us-gaap_NetIncomeLoss_label_en-US" xlink:label="lab_us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Income (Loss) Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss" xlink:to="lab_us-gaap_NetIncomeLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromStockOptionsExercised_4a65d820-9264-4bcf-9eb8-c2f62ed4b915_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from exercise of stock options</link:label>
    <link:label id="lab_us-gaap_ProceedsFromStockOptionsExercised_label_en-US" xlink:label="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Stock Options Exercised</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromStockOptionsExercised" xlink:to="lab_us-gaap_ProceedsFromStockOptionsExercised" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockMember_3dc15c3f-0b0b-4adf-8135-c3e7b2e08298_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock</link:label>
    <link:label id="lab_us-gaap_CommonStockMember_label_en-US" xlink:label="lab_us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockMember" xlink:to="lab_us-gaap_CommonStockMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_141c1773-c3ad-424c-9c91-34e8de7bd0c9_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current assets:</link:label>
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_label_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assets, Current [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrentAbstract" xlink:to="lab_us-gaap_AssetsCurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxesPaid_4812cd5b-6ae1-4176-b925-bdcc9262563e_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaid" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income tax payments</link:label>
    <link:label id="lab_us-gaap_IncomeTaxesPaid_label_en-US" xlink:label="lab_us-gaap_IncomeTaxesPaid" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes Paid</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaid" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxesPaid"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxesPaid" xlink:to="lab_us-gaap_IncomeTaxesPaid" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionTable_408ac47e-aff0-4983-9165-badd56a7d779_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Table]</link:label>
    <link:label id="lab_us-gaap_LesseeLeaseDescriptionTable_label_en-US" xlink:label="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Lease, Description [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable" xlink:to="lab_us-gaap_LesseeLeaseDescriptionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashCashEquivalentsAndShortTermInvestments_7d002eb1-b00a-4a2e-a68b-a390da426313_terseLabel_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsAndShortTermInvestments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and investments</link:label>
    <link:label id="lab_us-gaap_CashCashEquivalentsAndShortTermInvestments_label_en-US" xlink:label="lab_us-gaap_CashCashEquivalentsAndShortTermInvestments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash, Cash Equivalents, and Short-term Investments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsAndShortTermInvestments" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsAndShortTermInvestments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashCashEquivalentsAndShortTermInvestments" xlink:to="lab_us-gaap_CashCashEquivalentsAndShortTermInvestments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeasesAbstract_00a87f3c-be62-4485-abcc-9702c1d470e9_terseLabel_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:label id="lab_us-gaap_LeasesAbstract_label_en-US" xlink:label="lab_us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeasesAbstract" xlink:to="lab_us-gaap_LeasesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessAcquisitionLineItems_ef11d83b-b36e-483a-b69f-9260e4c4a44b_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition</link:label>
    <link:label id="lab_us-gaap_BusinessAcquisitionLineItems_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Acquisition [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems" xlink:to="lab_us-gaap_BusinessAcquisitionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DebtInstrumentAxis_15edf697-9c3f-4d18-b845-423359a93b40_terseLabel_en-US" xlink:label="lab_us-gaap_DebtInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument</link:label>
    <link:label id="lab_us-gaap_DebtInstrumentAxis_label_en-US" xlink:label="lab_us-gaap_DebtInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Debt Instrument [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DebtInstrumentAxis" xlink:to="lab_us-gaap_DebtInstrumentAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_e7f03a7f-d0bd-493b-99fd-74d489c82280_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts payable</link:label>
    <link:label id="lab_us-gaap_AccountsPayableCurrent_label_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Payable, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableCurrent" xlink:to="lab_us-gaap_AccountsPayableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueLineItems_3e02ad26-573d-4739-a9d9-b822cb63a035_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueLineItems_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems" xlink:to="lab_us-gaap_DisaggregationOfRevenueLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_OperatingSegmentsAndCorporateNonSegmentMember_f3a330a6-89cd-4512-aaba-4b96b194c30a_terseLabel_en-US" xlink:label="lab_tyl_OperatingSegmentsAndCorporateNonSegmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating segment and corporate non-segment</link:label>
    <link:label id="lab_tyl_OperatingSegmentsAndCorporateNonSegmentMember_label_en-US" xlink:label="lab_tyl_OperatingSegmentsAndCorporateNonSegmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Segments And Corporate Non Segment [Member]</link:label>
    <link:label id="lab_tyl_OperatingSegmentsAndCorporateNonSegmentMember_documentation_en-US" xlink:label="lab_tyl_OperatingSegmentsAndCorporateNonSegmentMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Segments And Corporate Non Segment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_OperatingSegmentsAndCorporateNonSegmentMember" xlink:href="tyl-20200331.xsd#tyl_OperatingSegmentsAndCorporateNonSegmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_OperatingSegmentsAndCorporateNonSegmentMember" xlink:to="lab_tyl_OperatingSegmentsAndCorporateNonSegmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_4872140f-547e-4218-8877-0153d521c691_terseLabel_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounting Standards and Significant Accounting Policies</link:label>
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_label_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Significant Accounting Policies [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="lab_us-gaap_SignificantAccountingPoliciesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_NumberOfBusinessUnits_66d4c16f-5ddb-4855-9d3c-1461fc93f098_terseLabel_en-US" xlink:label="lab_tyl_NumberOfBusinessUnits" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of business units</link:label>
    <link:label id="lab_tyl_NumberOfBusinessUnits_label_en-US" xlink:label="lab_tyl_NumberOfBusinessUnits" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number Of Business Units</link:label>
    <link:label id="lab_tyl_NumberOfBusinessUnits_documentation_en-US" xlink:label="lab_tyl_NumberOfBusinessUnits" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of business units.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_NumberOfBusinessUnits" xlink:href="tyl-20200331.xsd#tyl_NumberOfBusinessUnits"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_NumberOfBusinessUnits" xlink:to="lab_tyl_NumberOfBusinessUnits" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_ProductOrServiceAxis_8958b2d2-a293-4daa-8389-ed7b1f8baa50_terseLabel_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:label id="lab_srt_ProductOrServiceAxis_label_en-US" xlink:label="lab_srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Product and Service [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_ProductOrServiceAxis" xlink:to="lab_srt_ProductOrServiceAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseCost_4f226f70-a95c-4924-b098-17b0b02a4fa6_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease cost</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseCost_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseCost" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Cost</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseCost"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseCost" xlink:to="lab_us-gaap_OperatingLeaseCost" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_2c1d2625-9ab6-4d92-b5a7-ff53334fa540_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued liabilities</link:label>
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_label_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accrued Liabilities, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent" xlink:to="lab_us-gaap_AccruedLiabilitiesCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntitySmallBusiness_9c62d102-50e3-4f86-816a-a08b116368cf_terseLabel_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:label id="lab_dei_EntitySmallBusiness_label_en-US" xlink:label="lab_dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Small Business</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntitySmallBusiness"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntitySmallBusiness" xlink:to="lab_dei_EntitySmallBusiness" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_89392a8c-64ac-4341-83fe-3b7533801a41_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_396381d8-98a0-4913-8303-a29a45764404_terseLabel_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:label id="lab_dei_EntityInteractiveDataCurrent_label_en-US" xlink:label="lab_dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Interactive Data Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityInteractiveDataCurrent" xlink:to="lab_dei_EntityInteractiveDataCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember_477f7c5e-8e71-4d5a-b61a-ce2c1a2298f3_terseLabel_en-US" xlink:label="lab_tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of software services, maintenance and subscriptions</link:label>
    <link:label id="lab_tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember_label_en-US" xlink:label="lab_tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost Of Software Services Maintenance And Subscriptions [Member]</link:label>
    <link:label id="lab_tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember_documentation_en-US" xlink:label="lab_tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of software services maintenance and subscriptions.</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember" xlink:href="tyl-20200331.xsd#tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember" xlink:to="lab_tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_369ab614-8d31-4702-86e8-cb1165acfde4_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, shares issued (shares)</link:label>
    <link:label id="lab_us-gaap_CommonStockSharesIssued_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Shares, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued" xlink:to="lab_us-gaap_CommonStockSharesIssued" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_b3936f50-2595-4004-877b-adda189f1955_terseLabel_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_label_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Common Stock, Shares Outstanding</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCommonStockSharesOutstanding" xlink:to="lab_dei_EntityCommonStockSharesOutstanding" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_c6f8fc9b-a665-4f41-8abe-a15cb9e34b8d_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, par value (usd per share)</link:label>
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_label_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Par or Stated Value Per Share</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="lab_us-gaap_CommonStockParOrStatedValuePerShare" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TechnologyServiceMember_91b9a268-7d61-4270-81fd-cf119ad0fd8b_terseLabel_en-US" xlink:label="lab_us-gaap_TechnologyServiceMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Software services</link:label>
    <link:label id="lab_us-gaap_TechnologyServiceMember_label_en-US" xlink:label="lab_us-gaap_TechnologyServiceMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Technology Service [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TechnologyServiceMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TechnologyServiceMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TechnologyServiceMember" xlink:to="lab_us-gaap_TechnologyServiceMember" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityFilerCategory_02c3fba4-7022-4e76-ab64-3b64ea9a281d_terseLabel_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:label id="lab_dei_EntityFilerCategory_label_en-US" xlink:label="lab_dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Filer Category</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFilerCategory"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory" xlink:to="lab_dei_EntityFilerCategory" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LetterOfCreditMember_c522e7da-f7fd-410e-bb32-b394d3568554_terseLabel_en-US" xlink:label="lab_us-gaap_LetterOfCreditMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Letter of Credit</link:label>
    <link:label id="lab_us-gaap_LetterOfCreditMember_label_en-US" xlink:label="lab_us-gaap_LetterOfCreditMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Letter of Credit [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LetterOfCreditMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LetterOfCreditMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LetterOfCreditMember" xlink:to="lab_us-gaap_LetterOfCreditMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_c53ceb94-c5d5-4d42-9c6a-5522f2bec1d4_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Equity Method Investments</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Equity Method Investments [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:to="lab_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_5566e9a6-1202-4417-9058-55f6055bd429_terseLabel_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based compensation expense</link:label>
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_label_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expense</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="lab_us-gaap_AllocatedShareBasedCompensationExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CorporateNonSegmentMember_4d37e351-0673-4731-8a80-6ba5d149f521_terseLabel_en-US" xlink:label="lab_us-gaap_CorporateNonSegmentMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate</link:label>
    <link:label id="lab_us-gaap_CorporateNonSegmentMember_label_en-US" xlink:label="lab_us-gaap_CorporateNonSegmentMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Corporate, Non-Segment [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CorporateNonSegmentMember" xlink:to="lab_us-gaap_CorporateNonSegmentMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_23d8659a-085c-4e1d-a23f-ac11bf2ca5eb_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="lab_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_50a89a1d-f2b1-4b57-b7c0-b029d4d8395b_terseLabel_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:label id="lab_dei_EntityIncorporationStateCountryCode_label_en-US" xlink:label="lab_dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Incorporation, State or Country Code</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityIncorporationStateCountryCode" xlink:to="lab_dei_EntityIncorporationStateCountryCode" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_b345fa90-5688-47b8-a2e7-40977db1b732_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Thereafter</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due after Year Five</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_18f62bad-04d4-427d-b0d3-7793b87b032f_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">&#160;Total liabilities and shareholders' equity</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities and Equity</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityAddressCityOrTown_f6238362-4b60-4890-bd5d-2bbcbb204b28_terseLabel_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:label id="lab_dei_EntityAddressCityOrTown_label_en-US" xlink:label="lab_dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Address, City or Town</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCityOrTown"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityAddressCityOrTown" xlink:to="lab_dei_EntityAddressCityOrTown" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_774513ab-262d-4601-aaca-81128947f1f5_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract" xlink:to="lab_us-gaap_IncomeTaxDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember_e30e1c83-5df1-4a14-84c5-cc18761fcda1_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, general and administrative expenses</link:label>
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Selling, General and Administrative Expenses [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpensesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TimingOfTransferOfGoodOrServiceAxis_34838cb6-8ec8-4781-b3b9-634c8d409b06_terseLabel_en-US" xlink:label="lab_us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Timing of Transfer of Good or Service [Axis]</link:label>
    <link:label id="lab_us-gaap_TimingOfTransferOfGoodOrServiceAxis_label_en-US" xlink:label="lab_us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Timing of Transfer of Good or Service [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="lab_us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_db024cbd-821c-4af6-882e-1af001391a02_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivable Type [Axis]</link:label>
    <link:label id="lab_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_label_en-US" xlink:label="lab_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivable Type [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" xlink:to="lab_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_693e17dc-ed50-48f9-9d35-80f6c1444782_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareTextBlock" xlink:to="lab_us-gaap_EarningsPerShareTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfStockholdersEquityTableTextBlock_9a71f77f-f94e-4be8-8204-ecf100b66bbe_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfStockholdersEquityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Summary of details activity in our common stock</link:label>
    <link:label id="lab_us-gaap_ScheduleOfStockholdersEquityTableTextBlock_label_en-US" xlink:label="lab_us-gaap_ScheduleOfStockholdersEquityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Stockholders Equity [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockholdersEquityTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfStockholdersEquityTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfStockholdersEquityTableTextBlock" xlink:to="lab_us-gaap_ScheduleOfStockholdersEquityTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_03122374-2f79-44f4-93d4-49a8c483753e_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities, long-term</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_7f4b9e34-d40f-43cf-9146-24988ef90e90_verboseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating leases, long-term</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilityNoncurrent_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Liability, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="lab_us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_3fcbc84e-766e-4ecc-b61b-900aadebdc12_terseLabel_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies</link:label>
    <link:label id="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Commitments and Contingencies Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_0992fd3f-55a1-407a-894a-b6dd32335bab_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, shares authorized (shares)</link:label>
    <link:label id="lab_us-gaap_PreferredStockSharesAuthorized_label_en-US" xlink:label="lab_us-gaap_PreferredStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Shares Authorized</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockSharesAuthorized" xlink:to="lab_us-gaap_PreferredStockSharesAuthorized" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevolvingCreditFacilityMember_d93334dd-a234-4de5-83f6-4e2a48a39ac9_terseLabel_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving Credit Facility</link:label>
    <link:label id="lab_us-gaap_RevolvingCreditFacilityMember_label_en-US" xlink:label="lab_us-gaap_RevolvingCreditFacilityMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revolving Credit Facility [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevolvingCreditFacilityMember" xlink:to="lab_us-gaap_RevolvingCreditFacilityMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_e642ce26-8b6a-4db4-a478-9f535439c233_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Issuance of shares pursuant to employee stock purchase plan</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_75ac33b8-893a-4cf8-9eb7-85086a439e4a_verboseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee stock plan purchases</link:label>
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Employee Stock Purchase Plan</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_43ea0e12-6680-4152-bf13-ae47276e46eb_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Shareholders' equity:</link:label>
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Attributable to Parent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityAbstract" xlink:to="lab_us-gaap_StockholdersEquityAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentFiscalYearFocus_a3d33179-9c7c-463d-ab66-57a35e6c087a_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:label id="lab_dei_DocumentFiscalYearFocus_label_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Fiscal Year Focus</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalYearFocus"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalYearFocus" xlink:to="lab_dei_DocumentFiscalYearFocus" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_NonrecurringRevenueMember_066fe968-3600-4e5c-ae27-e8fe324f283b_terseLabel_en-US" xlink:label="lab_tyl_NonrecurringRevenueMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-recurring revenues</link:label>
    <link:label id="lab_tyl_NonrecurringRevenueMember_label_en-US" xlink:label="lab_tyl_NonrecurringRevenueMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-recurring Revenue [Member]</link:label>
    <link:label id="lab_tyl_NonrecurringRevenueMember_documentation_en-US" xlink:label="lab_tyl_NonrecurringRevenueMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Non-recurring Revenue [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_NonrecurringRevenueMember" xlink:href="tyl-20200331.xsd#tyl_NonrecurringRevenueMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_NonrecurringRevenueMember" xlink:to="lab_tyl_NonrecurringRevenueMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_acdad230-1156-402e-a07e-c68522049c75_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Segment Reporting Information By Segment [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_7c5de92e-95f2-4793-a9f9-44bb45d53c95_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Segment Reporting Information, by Segment [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:to="lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_RetentionReceivableMember_26380db6-6885-469f-8ec3-53e2683c7eeb_terseLabel_en-US" xlink:label="lab_tyl_RetentionReceivableMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retention Receivable</link:label>
    <link:label id="lab_tyl_RetentionReceivableMember_label_en-US" xlink:label="lab_tyl_RetentionReceivableMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retention Receivable [Member]</link:label>
    <link:label id="lab_tyl_RetentionReceivableMember_documentation_en-US" xlink:label="lab_tyl_RetentionReceivableMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retention Receivable [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_RetentionReceivableMember" xlink:href="tyl-20200331.xsd#tyl_RetentionReceivableMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_RetentionReceivableMember" xlink:to="lab_tyl_RetentionReceivableMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventsTextBlock_451629c0-47c7-4c82-b147-9e580c307fcd_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Events</link:label>
    <link:label id="lab_us-gaap_SubsequentEventsTextBlock_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Events [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsTextBlock" xlink:to="lab_us-gaap_SubsequentEventsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_a1bd97b9-79bb-4c92-8b0c-6bc5417aa293_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]</link:label>
    <link:label id="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_label_en-US" xlink:label="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:to="lab_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrentAbstract_44da52d2-804b-475b-9e01-e982b673772b_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other assets:</link:label>
    <link:label id="lab_us-gaap_OtherAssetsNoncurrentAbstract_label_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Assets, Noncurrent [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrentAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsNoncurrentAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsNoncurrentAbstract" xlink:to="lab_us-gaap_OtherAssetsNoncurrentAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_AcquiredSoftwareMember_a4a289a5-670b-4814-8070-5e9c3c35d09d_terseLabel_en-US" xlink:label="lab_tyl_AcquiredSoftwareMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquired software</link:label>
    <link:label id="lab_tyl_AcquiredSoftwareMember_label_en-US" xlink:label="lab_tyl_AcquiredSoftwareMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquired Software [Member]</link:label>
    <link:label id="lab_tyl_AcquiredSoftwareMember_documentation_en-US" xlink:label="lab_tyl_AcquiredSoftwareMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquired Software [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AcquiredSoftwareMember" xlink:href="tyl-20200331.xsd#tyl_AcquiredSoftwareMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_AcquiredSoftwareMember" xlink:to="lab_tyl_AcquiredSoftwareMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenuesAbstract_652bf092-6409-4721-9c84-12b8226da4b6_terseLabel_en-US" xlink:label="lab_us-gaap_RevenuesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenues:</link:label>
    <link:label id="lab_us-gaap_RevenuesAbstract_label_en-US" xlink:label="lab_us-gaap_RevenuesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenues [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenuesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenuesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenuesAbstract" xlink:to="lab_us-gaap_RevenuesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_43cc2ef1-2180-4b05-a57e-1df0a14b2245_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective income tax rates (percent)</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTable_c5df8a77-4e09-4cc8-adab-9cf50a0d2e8d_terseLabel_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
    <link:label id="lab_us-gaap_DisaggregationOfRevenueTable_label_en-US" xlink:label="lab_us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Disaggregation of Revenue [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable" xlink:to="lab_us-gaap_DisaggregationOfRevenueTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CostOfRevenueAbstract_4bd6f045-d177-4345-a537-14313a7b3a81_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfRevenueAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of revenues:</link:label>
    <link:label id="lab_us-gaap_CostOfRevenueAbstract_label_en-US" xlink:label="lab_us-gaap_CostOfRevenueAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cost of Revenue [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenueAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfRevenueAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfRevenueAbstract" xlink:to="lab_us-gaap_CostOfRevenueAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_6e4e4cc3-4c57-4d1c-a1f6-e99847388165_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable, allowance for doubtful accounts</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_BusinessCombinationDisclosureTextBlock_606ec5b8-c031-4880-881d-86f89df7eab5_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Acquisitions</link:label>
    <link:label id="lab_us-gaap_BusinessCombinationDisclosureTextBlock_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Business Combination Disclosure [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:to="lab_us-gaap_BusinessCombinationDisclosureTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_641affd0-1069-48b2-84fa-509c6552cd02_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee taxes paid for withheld shares upon equity award settlement (in shares)</link:label>
    <link:label id="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_label_en-US" xlink:label="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="lab_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_a8d15a6e-b415-4f23-9e54-d707fb367057_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CommonStockValue_06a21752-e350-4deb-a796-bdc107d15c64_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common stock, $0.01 par value; 100,000,000 shares authorized; 48,147,969 shares issued and outstanding as of March 31, 2020 and December 31, 2019</link:label>
    <link:label id="lab_us-gaap_CommonStockValue_label_en-US" xlink:label="lab_us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Common Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockValue" xlink:to="lab_us-gaap_CommonStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityLineItems_12b335bd-09ba-420e-9f34-2962bf077737_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line Of Credit Facility</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityLineItems_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems" xlink:to="lab_us-gaap_LineOfCreditFacilityLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_CumulativeEffectPeriodOfAdoptionDomain_76759d6f-aaa4-4f90-bf97-f2d072ed0517_terseLabel_en-US" xlink:label="lab_tyl_CumulativeEffectPeriodOfAdoptionDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption [Domain]</link:label>
    <link:label id="lab_tyl_CumulativeEffectPeriodOfAdoptionDomain_label_en-US" xlink:label="lab_tyl_CumulativeEffectPeriodOfAdoptionDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption [Domain]</link:label>
    <link:label id="lab_tyl_CumulativeEffectPeriodOfAdoptionDomain_documentation_en-US" xlink:label="lab_tyl_CumulativeEffectPeriodOfAdoptionDomain" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cumulative Effect, Period of Adoption</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CumulativeEffectPeriodOfAdoptionDomain" xlink:href="tyl-20200331.xsd#tyl_CumulativeEffectPeriodOfAdoptionDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_CumulativeEffectPeriodOfAdoptionDomain" xlink:to="lab_tyl_CumulativeEffectPeriodOfAdoptionDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_e8f040e4-0d90-428a-97db-ed96483fd1c1_terseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other income, net</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_aa18ab2d-c776-4f49-8364-a4d88d016ddd_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other income, net</link:label>
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_label_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Nonoperating Income (Expense)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpense" xlink:to="lab_us-gaap_OtherNonoperatingIncomeExpense" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEquityMethodInvestmentsTable_a9e3a3f2-a6bc-4508-8562-ff4707e80e1c_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Equity Method Investments [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEquityMethodInvestmentsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of Equity Method Investments [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:to="lab_us-gaap_ScheduleOfEquityMethodInvestmentsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_SubsequentEventsAbstract_aa5df465-ff63-491e-ae89-10b6f1395a4a_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Events [Abstract]</link:label>
    <link:label id="lab_us-gaap_SubsequentEventsAbstract_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Subsequent Events [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsAbstract" xlink:to="lab_us-gaap_SubsequentEventsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_e0e49669-5fd9-49c2-94e8-b4936d0fde1c_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated other comprehensive loss, net of tax</link:label>
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeasePayments_87ead67d-5677-4c4f-97cf-3682544debf2_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating cash outflows from operating leases</link:label>
    <link:label id="lab_us-gaap_OperatingLeasePayments_label_en-US" xlink:label="lab_us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Payments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasePayments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeasePayments" xlink:to="lab_us-gaap_OperatingLeasePayments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths_697ba58d-8b2c-4c59-90e6-8f9242be7ce2_terseLabel_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2020 (Remaining 2020)</link:label>
    <link:label id="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths_label_en-US" xlink:label="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessor, Operating Lease, Payments to be Received, Next Twelve Months</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths" xlink:to="lab_us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LineOfCreditFacilityTable_0ddfa932-97f0-47e7-96ae-9b2b6f4d1be2_terseLabel_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line Of Credit Facility [Table]</link:label>
    <link:label id="lab_us-gaap_LineOfCreditFacilityTable_label_en-US" xlink:label="lab_us-gaap_LineOfCreditFacilityTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Line of Credit Facility [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityTable" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LineOfCreditFacilityTable" xlink:to="lab_us-gaap_LineOfCreditFacilityTable" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement_b5c087e3-1c6b-405d-a3bb-2f68e1665dac_negatedLabel_en-US" xlink:label="lab_tyl_StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Restricted stock units vested, net of withheld shares upon award settlement</link:label>
    <link:label id="lab_tyl_StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement_label_en-US" xlink:label="lab_tyl_StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Restricted Stock Units Vested, Net Of Withheld Shares Upon Award Settlement</link:label>
    <link:label id="lab_tyl_StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement_documentation_en-US" xlink:label="lab_tyl_StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Issued During Period, Value, Restricted Stock Units Vested, Net Of Withheld Shares Upon Award Settlement</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement" xlink:href="tyl-20200331.xsd#tyl_StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement" xlink:to="lab_tyl_StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_ef8270a2-800f-46b4-846a-6982a10c72c7_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and cash equivalents</link:label>
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash and Cash Equivalents, at Carrying Value</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_5dbe7a8f-b06b-40dd-9f0e-5c2c74a1b303_terseLabel_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock awards (in shares)</link:label>
    <link:label id="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_label_en-US" xlink:label="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="lab_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsMember_78cc9b60-9422-44e9-9dce-36edfc6279b7_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsMember_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsMember" xlink:to="lab_us-gaap_RetainedEarningsMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TransferredOverTimeMember_3ae7c51d-ccbf-4eb9-a150-70ecdcd15527_terseLabel_en-US" xlink:label="lab_us-gaap_TransferredOverTimeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Products and services transferred over time</link:label>
    <link:label id="lab_us-gaap_TransferredOverTimeMember_label_en-US" xlink:label="lab_us-gaap_TransferredOverTimeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Transferred over Time [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredOverTimeMember" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TransferredOverTimeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TransferredOverTimeMember" xlink:to="lab_us-gaap_TransferredOverTimeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_a950dfdc-b7e7-4e97-8bb0-e80b2bfb3882_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Pronouncements or Change in Accounting Principle [Table]</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Pronouncements or Change in Accounting Principle [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:to="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_71f1d718-32d0-4ad4-b8d4-402cf44ff5f9_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted-average basic common shares outstanding (in shares)</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Weighted Average Number of Shares Outstanding, Basic</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_d80f208e-9205-450d-bdb4-63d403d4daf3_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease right-of-use assets</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseRightOfUseAsset_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Lease, Right-of-Use Asset</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="lab_us-gaap_OperatingLeaseRightOfUseAsset" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_1ef89d11-ed2a-465f-a0a9-7ea3971c04f6_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Leases</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeasesTextBlock_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Leases [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="lab_us-gaap_LesseeOperatingLeasesTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostLineItems_fc67f8f9-ce24-4402-85a3-a945fdd81745_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostLineItems_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems" xlink:to="lab_us-gaap_CapitalizedContractCostLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_5fa5349f-e17b-4d85-8a9c-fd2981fc338a_terseLabel_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement Equity Components</link:label>
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_label_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Components [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementEquityComponentsAxis" xlink:to="lab_us-gaap_StatementEquityComponentsAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LiabilitiesAbstract_080a466a-0a5c-4909-9e90-8f337fe2046e_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities:</link:label>
    <link:label id="lab_us-gaap_LiabilitiesAbstract_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Liabilities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAbstract" xlink:to="lab_us-gaap_LiabilitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_16c6562a-41e1-4351-9be7-9e771049219e_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Pronouncements or Change in Accounting Principle</link:label>
    <link:label id="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">New Accounting Pronouncements or Change in Accounting Principle [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:to="lab_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentPeriodEndDate_ebf4372a-4a7a-4464-9523-846de3b80a44_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:label id="lab_dei_DocumentPeriodEndDate_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Period End Date</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentPeriodEndDate"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate" xlink:to="lab_dei_DocumentPeriodEndDate" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OtherAssetsCurrent_adea6343-b51b-4181-915a-20edad0b928d_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other current assets</link:label>
    <link:label id="lab_us-gaap_OtherAssetsCurrent_label_en-US" xlink:label="lab_us-gaap_OtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Other Assets, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsCurrent" xlink:to="lab_us-gaap_OtherAssetsCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StatementTable_187bb488-0fd2-4b22-a75d-bc73a882adb3_terseLabel_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:label id="lab_us-gaap_StatementTable_label_en-US" xlink:label="lab_us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statement [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementTable" xlink:to="lab_us-gaap_StatementTable" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityRegistrantName_bf2e271b-f27d-4efb-a4c1-5a1cf441b569_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:label id="lab_dei_EntityRegistrantName_label_en-US" xlink:label="lab_dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Registrant Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityRegistrantName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName" xlink:to="lab_dei_EntityRegistrantName" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_EquityMethodInvesteeNameDomain_0dcce376-9857-4e03-a1d1-5e0d4a407c90_terseLabel_en-US" xlink:label="lab_srt_EquityMethodInvesteeNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment, Name [Domain]</link:label>
    <link:label id="lab_srt_EquityMethodInvesteeNameDomain_label_en-US" xlink:label="lab_srt_EquityMethodInvesteeNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Investment, Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_EquityMethodInvesteeNameDomain" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_EquityMethodInvesteeNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_EquityMethodInvesteeNameDomain" xlink:to="lab_srt_EquityMethodInvesteeNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsToAcquireEquityMethodInvestments_e001bd30-cd16-49a6-843b-ffbc225f4ce2_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase of investment in common shares</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireEquityMethodInvestments_8cfae88b-92c6-4e83-98c1-bd1954b0f3f0_terseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase of equity investment common shares</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireEquityMethodInvestments_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments to Acquire Equity Method Investments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:to="lab_us-gaap_PaymentsToAcquireEquityMethodInvestments" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_IncreaseDecreaseInOperatingLeaseLiabilities_28e7ea03-5096-4cac-8b30-1a3fd170dbf8_terseLabel_en-US" xlink:label="lab_tyl_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating lease liabilities</link:label>
    <link:label id="lab_tyl_IncreaseDecreaseInOperatingLeaseLiabilities_label_en-US" xlink:label="lab_tyl_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Operating Lease Liabilities</link:label>
    <link:label id="lab_tyl_IncreaseDecreaseInOperatingLeaseLiabilities_documentation_en-US" xlink:label="lab_tyl_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) In Operating Lease Liabilities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:href="tyl-20200331.xsd#tyl_IncreaseDecreaseInOperatingLeaseLiabilities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:to="lab_tyl_IncreaseDecreaseInOperatingLeaseLiabilities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockholdersEquity_0092b6ce-95e3-4639-9790-78c9c91f2742_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Total shareholders' equity</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_4994161d-37ec-4cc7-a51e-89edbcbd3a7c_periodStartLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_2142336e-5fa3-4e95-99dc-6b9174e5163f_periodEndLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance</link:label>
    <link:label id="lab_us-gaap_StockholdersEquity_label_en-US" xlink:label="lab_us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stockholders' Equity Attributable to Parent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity" xlink:to="lab_us-gaap_StockholdersEquity" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_4b293e8c-dd0a-4934-a952-fbeb7451ec33_negatedLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of intangibles assets</link:label>
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_label_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfIntangibleAssets" xlink:to="lab_us-gaap_AmortizationOfIntangibleAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_1db7a1e5-2cb9-44fa-b30d-906c22fdb14d_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ReceivablesBillingStatusDomain_d7adce96-3b4c-4ee2-90f0-d4cdb63cc944_terseLabel_en-US" xlink:label="lab_us-gaap_ReceivablesBillingStatusDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivables Billing Status [Domain]</link:label>
    <link:label id="lab_us-gaap_ReceivablesBillingStatusDomain_label_en-US" xlink:label="lab_us-gaap_ReceivablesBillingStatusDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Receivables Billing Status [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesBillingStatusDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivablesBillingStatusDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ReceivablesBillingStatusDomain" xlink:to="lab_us-gaap_ReceivablesBillingStatusDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_13346a9c-660b-4661-9da7-9441a9756c08_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_165e7a02-fac9-4623-9807-1af1cd88010e_periodStartLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance as of December 31, 2019</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_fcd243d5-5458-433b-b28d-a793072b57ee_periodEndLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Balance as of March 31, 2020</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiability_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiability" xlink:to="lab_us-gaap_ContractWithCustomerLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_9a6a6754-92bf-4573-8d69-2ff6f9f1b1a6_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment of contingent consideration</link:label>
    <link:label id="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_20e9542a-9dd3-4e1f-9ca6-d94a03ddd238_terseLabel_en-US" xlink:label="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment of contingent consideration</link:label>
    <link:label id="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_label_en-US" xlink:label="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payment for Contingent Consideration Liability, Financing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:to="lab_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_NumeratorofBasicandDilutedEarningsPerShareAbstract_a7390812-2eb5-4553-9f4f-a6fb441ded4d_terseLabel_en-US" xlink:label="lab_tyl_NumeratorofBasicandDilutedEarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Numerator for basic and diluted earnings per share:</link:label>
    <link:label id="lab_tyl_NumeratorofBasicandDilutedEarningsPerShareAbstract_label_en-US" xlink:label="lab_tyl_NumeratorofBasicandDilutedEarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Numerator of Basic and Diluted Earnings Per Share [Abstract]</link:label>
    <link:label id="lab_tyl_NumeratorofBasicandDilutedEarningsPerShareAbstract_documentation_en-US" xlink:label="lab_tyl_NumeratorofBasicandDilutedEarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Numerator of Basic and Diluted Earnings Per Share [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_NumeratorofBasicandDilutedEarningsPerShareAbstract" xlink:href="tyl-20200331.xsd#tyl_NumeratorofBasicandDilutedEarningsPerShareAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_NumeratorofBasicandDilutedEarningsPerShareAbstract" xlink:to="lab_tyl_NumeratorofBasicandDilutedEarningsPerShareAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_d07b7a06-bd90-41cb-a816-bbdc91f11178_terseLabel_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_ContractWithCustomerLiabilityCurrent_label_en-US" xlink:label="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Contract with Customer, Liability, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="lab_us-gaap_ContractWithCustomerLiabilityCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MaximumMember_134dfef4-6383-4a1b-9502-a2b3ed3fa6c0_terseLabel_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum</link:label>
    <link:label id="lab_srt_MaximumMember_label_en-US" xlink:label="lab_srt_MaximumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Maximum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MaximumMember" xlink:to="lab_srt_MaximumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_b32579b6-81b6-40bf-85e4-31972ed28567_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Employee Service Share-based Compensation, Allocation of Recognized Period Costs</link:label>
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets_52c94938-2961-4f17-9243-f4bcd7ba6175_terseLabel_en-US" xlink:label="lab_tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of other intangibles</link:label>
    <link:label id="lab_tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets_label_en-US" xlink:label="lab_tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of Customer and Trade Names Intangible Assets</link:label>
    <link:label id="lab_tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets_documentation_en-US" xlink:label="lab_tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Amortization of Customer and Trade Names Intangible Assets</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets" xlink:href="tyl-20200331.xsd#tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets" xlink:to="lab_tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_AssumedConversionofDilutiveSecuritiesAbstract_7ec0d477-4e66-4710-ba3f-7d0d8c7087d7_terseLabel_en-US" xlink:label="lab_tyl_AssumedConversionofDilutiveSecuritiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assumed conversion of dilutive securities:</link:label>
    <link:label id="lab_tyl_AssumedConversionofDilutiveSecuritiesAbstract_label_en-US" xlink:label="lab_tyl_AssumedConversionofDilutiveSecuritiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assumed Conversion of Dilutive Securities [Abstract]</link:label>
    <link:label id="lab_tyl_AssumedConversionofDilutiveSecuritiesAbstract_documentation_en-US" xlink:label="lab_tyl_AssumedConversionofDilutiveSecuritiesAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Assumed Conversion of Dilutive Securities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AssumedConversionofDilutiveSecuritiesAbstract" xlink:href="tyl-20200331.xsd#tyl_AssumedConversionofDilutiveSecuritiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_AssumedConversionofDilutiveSecuritiesAbstract" xlink:to="lab_tyl_AssumedConversionofDilutiveSecuritiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_20dd352f-a70d-4b50-8f0e-7fce8e183aac_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective income tax rate excluding excess tax benefit (percent)</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_2b4696b6-7fd0-4d64-b40d-418787d67d3b_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2022</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Three</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LeaseCostTableTextBlock_6da4fbc6-0944-44e8-918b-7ee06634c3c1_terseLabel_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule of lease cost</link:label>
    <link:label id="lab_us-gaap_LeaseCostTableTextBlock_label_en-US" xlink:label="lab_us-gaap_LeaseCostTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lease, Cost [Table Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LeaseCostTableTextBlock" xlink:to="lab_us-gaap_LeaseCostTableTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_75ae102e-b1bf-42b6-82bf-12baa2790514_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Schedule Of Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_RecurringRevenuePercentageOfTotalRevenue_2fd80c07-0620-4a0b-a9fa-9d221a66961b_terseLabel_en-US" xlink:label="lab_tyl_RecurringRevenuePercentageOfTotalRevenue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recurring revenue percentage of total revenue (percent)</link:label>
    <link:label id="lab_tyl_RecurringRevenuePercentageOfTotalRevenue_label_en-US" xlink:label="lab_tyl_RecurringRevenuePercentageOfTotalRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recurring Revenue Percentage of Total Revenue</link:label>
    <link:label id="lab_tyl_RecurringRevenuePercentageOfTotalRevenue_documentation_en-US" xlink:label="lab_tyl_RecurringRevenuePercentageOfTotalRevenue" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Recurring Revenue Percentage of Total Revenue</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_RecurringRevenuePercentageOfTotalRevenue" xlink:href="tyl-20200331.xsd#tyl_RecurringRevenuePercentageOfTotalRevenue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_RecurringRevenuePercentageOfTotalRevenue" xlink:to="lab_tyl_RecurringRevenuePercentageOfTotalRevenue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DepreciationDepletionAndAmortization_9747504c-201d-4e31-97e4-7d1e1e720b2b_terseLabel_en-US" xlink:label="lab_us-gaap_DepreciationDepletionAndAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation and amortization</link:label>
    <link:label id="lab_us-gaap_DepreciationDepletionAndAmortization_label_en-US" xlink:label="lab_us-gaap_DepreciationDepletionAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Depreciation, Depletion and Amortization</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DepreciationDepletionAndAmortization" xlink:to="lab_us-gaap_DepreciationDepletionAndAmortization" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_CapitalizedContractCostImpairmentLoss_7e9ccc4d-7fb2-48dc-acad-040abdeb3bc9_terseLabel_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred commissions impairment</link:label>
    <link:label id="lab_us-gaap_CapitalizedContractCostImpairmentLoss_label_en-US" xlink:label="lab_us-gaap_CapitalizedContractCostImpairmentLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Capitalized Contract Cost, Impairment Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostImpairmentLoss" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostImpairmentLoss"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CapitalizedContractCostImpairmentLoss" xlink:to="lab_us-gaap_CapitalizedContractCostImpairmentLoss" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_04925ef8-b3c3-4e04-bb8d-83b84865c473_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained earnings</link:label>
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Retained Earnings (Accumulated Deficit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="lab_us-gaap_RetainedEarningsAccumulatedDeficit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PreferredStockValue_271a47b0-7191-4af7-94d4-e4b805407fe1_terseLabel_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred stock, $10.00 par value; 1,000,000 shares authorized; none issued</link:label>
    <link:label id="lab_us-gaap_PreferredStockValue_label_en-US" xlink:label="lab_us-gaap_PreferredStockValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Preferred Stock, Value, Issued</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PreferredStockValue"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PreferredStockValue" xlink:to="lab_us-gaap_PreferredStockValue" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable_c53ecab6-e703-48a8-803b-9c290b0c628d_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Allowance for losses</link:label>
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, Allowance for Credit Loss</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_VariableRateAxis_c2b33cd5-4e93-4ac7-b571-9949c60450d4_terseLabel_en-US" xlink:label="lab_us-gaap_VariableRateAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate</link:label>
    <link:label id="lab_us-gaap_VariableRateAxis_label_en-US" xlink:label="lab_us-gaap_VariableRateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Variable Rate [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_VariableRateAxis" xlink:to="lab_us-gaap_VariableRateAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_c97b8c32-cb59-43b4-8982-6a72c88eedba_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchase of treasury shares</link:label>
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_label_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Payments for Repurchase of Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:to="lab_us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TreasuryStockValueAcquiredCostMethod_b00b6cb9-1d29-4ec2-a735-18e883859b63_negatedLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury stock purchases</link:label>
    <link:label id="lab_us-gaap_TreasuryStockValueAcquiredCostMethod_9fe416bc-f312-47a9-bd30-81df90ed55d4_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Purchases of treasury shares</link:label>
    <link:label id="lab_us-gaap_TreasuryStockValueAcquiredCostMethod_label_en-US" xlink:label="lab_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Treasury Stock, Value, Acquired, Cost Method</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:to="lab_us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_SecurityExchangeName_947262f4-276b-4179-88d4-a70f6a9778c8_terseLabel_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:label id="lab_dei_SecurityExchangeName_label_en-US" xlink:label="lab_dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Security Exchange Name</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SecurityExchangeName"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_SecurityExchangeName" xlink:to="lab_dei_SecurityExchangeName" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_fa205797-8e76-4178-87ac-9c967343e4d3_terseLabel_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:label id="lab_dei_EntityTaxIdentificationNumber_label_en-US" xlink:label="lab_dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Entity Tax Identification Number</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityTaxIdentificationNumber" xlink:to="lab_dei_EntityTaxIdentificationNumber" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_8e2ba753-56be-452c-9612-b0d96f9dea6f_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive securities excluded from computation of earnings per shares (in shares)</link:label>
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_RevenueFromContractWithCustomerTypicalContractTerm_6a9322d6-a029-4079-8269-e03e08629790_terseLabel_en-US" xlink:label="lab_tyl_RevenueFromContractWithCustomerTypicalContractTerm" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Typical contract term</link:label>
    <link:label id="lab_tyl_RevenueFromContractWithCustomerTypicalContractTerm_label_en-US" xlink:label="lab_tyl_RevenueFromContractWithCustomerTypicalContractTerm" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue From Contract With Customer, Typical Contract Term</link:label>
    <link:label id="lab_tyl_RevenueFromContractWithCustomerTypicalContractTerm_documentation_en-US" xlink:label="lab_tyl_RevenueFromContractWithCustomerTypicalContractTerm" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue From Contract With Customer, Typical Contract Term</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_RevenueFromContractWithCustomerTypicalContractTerm" xlink:href="tyl-20200331.xsd#tyl_RevenueFromContractWithCustomerTypicalContractTerm"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_RevenueFromContractWithCustomerTypicalContractTerm" xlink:to="lab_tyl_RevenueFromContractWithCustomerTypicalContractTerm" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_f02c4499-7227-4351-87fc-eb5278f8419a_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Diluted (usd per share)</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Earnings Per Share, Diluted</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDiluted" xlink:to="lab_us-gaap_EarningsPerShareDiluted" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NumberOfReportableSegments_06440fbb-6395-4a83-b54c-2306db0d38a5_terseLabel_en-US" xlink:label="lab_us-gaap_NumberOfReportableSegments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of reportable segment</link:label>
    <link:label id="lab_us-gaap_NumberOfReportableSegments_label_en-US" xlink:label="lab_us-gaap_NumberOfReportableSegments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of Reportable Segments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NumberOfReportableSegments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NumberOfReportableSegments" xlink:to="lab_us-gaap_NumberOfReportableSegments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_ba30edfc-061e-4536-8c21-c7c6cd35f999_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Number of shares authorized to be repurchased (in shares)</link:label>
    <link:label id="lab_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_label_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Stock Repurchase Program, Number of Shares Authorized to be Repurchased</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:to="lab_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_f0608896-d850-4aec-ada8-a1f4256477b2_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional paid-in capital</link:label>
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Additional Paid in Capital, Common Stock</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:to="lab_us-gaap_AdditionalPaidInCapitalCommonStock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AccountsReceivableNetNoncurrent_376e1337-4672-4d7f-a214-4a5d8020f880_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts receivable, long-term</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetNoncurrent_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Accounts Receivable, after Allowance for Credit Loss, Noncurrent</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetNoncurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetNoncurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetNoncurrent" xlink:to="lab_us-gaap_AccountsReceivableNetNoncurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_f2ff8878-be7a-4d6f-ab26-cc8765d8ceb8_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash provided by operating activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_RecordHoldingsPtyLimitedMember_2fc7d43b-a113-4d48-bd21-16899e0efb49_terseLabel_en-US" xlink:label="lab_tyl_RecordHoldingsPtyLimitedMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Record Holdings</link:label>
    <link:label id="lab_tyl_RecordHoldingsPtyLimitedMember_label_en-US" xlink:label="lab_tyl_RecordHoldingsPtyLimitedMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Record Holdings Pty Limited [Member]</link:label>
    <link:label id="lab_tyl_RecordHoldingsPtyLimitedMember_documentation_en-US" xlink:label="lab_tyl_RecordHoldingsPtyLimitedMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Record Holdings Pty Limited</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_RecordHoldingsPtyLimitedMember" xlink:href="tyl-20200331.xsd#tyl_RecordHoldingsPtyLimitedMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_RecordHoldingsPtyLimitedMember" xlink:to="lab_tyl_RecordHoldingsPtyLimitedMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_EquityComponentDomain_936b91e1-9320-4230-a4fd-cbc68395879b_terseLabel_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component</link:label>
    <link:label id="lab_us-gaap_EquityComponentDomain_label_en-US" xlink:label="lab_us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Equity Component [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain" xlink:to="lab_us-gaap_EquityComponentDomain" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_4a012347-004c-45e8-b885-3da96ea8fc63_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_TradingSymbol_9e0f9964-1838-4731-a946-8a3258064c63_terseLabel_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:label id="lab_dei_TradingSymbol_label_en-US" xlink:label="lab_dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Trading Symbol</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_TradingSymbol"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_TradingSymbol" xlink:to="lab_dei_TradingSymbol" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_MinimumMember_5a65b626-6c30-4a20-9977-b604115d4256_terseLabel_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum</link:label>
    <link:label id="lab_srt_MinimumMember_label_en-US" xlink:label="lab_srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Minimum [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_MinimumMember" xlink:to="lab_srt_MinimumMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_956e2c83-4807-4320-96b8-ddcde56c1df6_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred revenue</link:label>
    <link:label id="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Increase (Decrease) in Contract with Customer, Liability</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:to="lab_us-gaap_IncreaseDecreaseInContractWithCustomerLiability" xlink:type="arc" order="1"/>
    <link:label id="lab_dei_DocumentTransitionReport_bdbc3a49-0c53-41ae-b446-954de8ee1eb3_terseLabel_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:label id="lab_dei_DocumentTransitionReport_label_en-US" xlink:label="lab_dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Document Transition Report</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentTransitionReport"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentTransitionReport" xlink:to="lab_dei_DocumentTransitionReport" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_TaxesPayableCurrent_3b4d12bb-ee49-473f-bd5c-f7d16d9e172e_terseLabel_en-US" xlink:label="lab_us-gaap_TaxesPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Current income tax payable</link:label>
    <link:label id="lab_us-gaap_TaxesPayableCurrent_label_en-US" xlink:label="lab_us-gaap_TaxesPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Taxes Payable, Current</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrent" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TaxesPayableCurrent"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TaxesPayableCurrent" xlink:to="lab_us-gaap_TaxesPayableCurrent" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ShortTermInvestments_5ca371ec-e27c-4889-8d0d-e6738790306d_terseLabel_en-US" xlink:label="lab_us-gaap_ShortTermInvestments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term investments</link:label>
    <link:label id="lab_us-gaap_ShortTermInvestments_label_en-US" xlink:label="lab_us-gaap_ShortTermInvestments" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Short-term Investments</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermInvestments" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermInvestments"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShortTermInvestments" xlink:to="lab_us-gaap_ShortTermInvestments" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_e216e810-ceff-4198-bebc-07a392164449_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Cash flows from investing activities:</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxReceivable_ac2cb640-053a-4a54-be2a-acfb240c9748_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxReceivable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income tax receivable</link:label>
    <link:label id="lab_us-gaap_IncomeTaxReceivable_label_en-US" xlink:label="lab_us-gaap_IncomeTaxReceivable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Taxes Receivable</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReceivable" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReceivable"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxReceivable" xlink:to="lab_us-gaap_IncomeTaxReceivable" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_d4b46d4d-4fc1-494b-90df-67eb69656854_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from marketable security investments</link:label>
    <link:label id="lab_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_label_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Proceeds from Sale and Maturity of Marketable Securities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:to="lab_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefit_01a7063b-3753-4d24-83da-83823432af24_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred income tax benefit</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Deferred Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_srt_RangeMember_e685c266-16e1-4cdc-beeb-05722c708af3_terseLabel_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:label id="lab_srt_RangeMember_label_en-US" xlink:label="lab_srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Statistical Measurement [Domain]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_srt_RangeMember" xlink:to="lab_srt_RangeMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_0e520754-ff3f-4fa9-9635-a780d2fd6f59_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to reconcile net income to cash provided by operating activities:</link:label>
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_DenominatorAbstract_b75b5595-c274-4e91-aaf1-d7d977a5e27a_terseLabel_en-US" xlink:label="lab_tyl_DenominatorAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Denominator:</link:label>
    <link:label id="lab_tyl_DenominatorAbstract_label_en-US" xlink:label="lab_tyl_DenominatorAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Denominator [Abstract]</link:label>
    <link:label id="lab_tyl_DenominatorAbstract_documentation_en-US" xlink:label="lab_tyl_DenominatorAbstract" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Denominator [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_DenominatorAbstract" xlink:href="tyl-20200331.xsd#tyl_DenominatorAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_DenominatorAbstract" xlink:to="lab_tyl_DenominatorAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_2bae4497-4a36-45e0-8205-e524958e4097_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net cash provided by financing activities</link:label>
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:type="arc" order="1"/>
    <link:label id="lab_tyl_AppraisalServicesMember_15e86276-1b07-4b47-bbd2-14e870f018b4_terseLabel_en-US" xlink:label="lab_tyl_AppraisalServicesMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Appraisal services</link:label>
    <link:label id="lab_tyl_AppraisalServicesMember_label_en-US" xlink:label="lab_tyl_AppraisalServicesMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Appraisal Services [Member]</link:label>
    <link:label id="lab_tyl_AppraisalServicesMember_documentation_en-US" xlink:label="lab_tyl_AppraisalServicesMember" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Appraisal Services [Member]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AppraisalServicesMember" xlink:href="tyl-20200331.xsd#tyl_AppraisalServicesMember"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_tyl_AppraisalServicesMember" xlink:to="lab_tyl_AppraisalServicesMember" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_99e36901-7068-4485-8e92-33e13293143b_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:label id="lab_us-gaap_IncomeStatementAbstract_label_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Statement [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementAbstract" xlink:to="lab_us-gaap_IncomeStatementAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_04053a3d-fb10-476e-b9f9-6ba4cb6bda6d_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</link:label>
    <link:label id="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_label_en-US" xlink:label="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:to="lab_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_a15f92ec-869c-4eb3-bbd3-bf74da02e31e_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income tax (benefit) provision</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Income Tax Expense (Benefit)</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefit" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_ad1dd083-4b4d-4c50-b242-c47732c68fdf_terseLabel_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-Based Compensation</link:label>
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_label_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Share-based Payment Arrangement [Text Block]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_83450fff-73b6-4076-9e72-a515fd6f6b4d_terseLabel_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Operating Leases</link:label>
    <link:label id="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_label_en-US" xlink:label="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payment, Due [Abstract]</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="lab_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:type="arc" order="1"/>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_8f882c1c-5dcf-4c8c-9ebb-18f6915fc0a0_terseLabel_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">2021</link:label>
    <link:label id="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_label_en-US" xlink:label="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xmlns:xml="http://www.w3.org/XML/1998/namespace" xml:lang="en-US">Lessee, Operating Lease, Liability, Payments, Due Year Two</link:label>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:labelArc xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:type="arc" order="1"/>
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>9
<FILENAME>tyl-20200331_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with Wdesk from Workiva-->
<!--Copyright 2020 Workiva-->
<!--r:9c0163e1-2bea-4e19-a373-e0f9503df286,g:86679952-cdda-4c06-ac05-01fb6f67268a-->
<link:linkbase xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd">
  <link:roleRef roleURI="http://www.tylertech.com/role/Cover" xlink:type="simple" xlink:href="tyl-20200331.xsd#Cover"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/Cover" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CoverAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentType_4fb9682f-1ab0-4bab-bd14-4b1c725deb21" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentType"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_DocumentType_4fb9682f-1ab0-4bab-bd14-4b1c725deb21" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentQuarterlyReport_0694cbc0-2173-4621-92d0-bfca9fc0040a" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentQuarterlyReport"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_DocumentQuarterlyReport_0694cbc0-2173-4621-92d0-bfca9fc0040a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentPeriodEndDate_0fc2de84-7c51-4d01-a9aa-489b50a30ee9" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentPeriodEndDate"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_DocumentPeriodEndDate_0fc2de84-7c51-4d01-a9aa-489b50a30ee9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentTransitionReport_ee1eaf56-24e5-4eae-a3f2-5ac95c12afb5" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentTransitionReport"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_DocumentTransitionReport_ee1eaf56-24e5-4eae-a3f2-5ac95c12afb5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFileNumber_4e154c69-2618-4029-a34c-6b2c813d8007" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFileNumber"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_EntityFileNumber_4e154c69-2618-4029-a34c-6b2c813d8007" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityRegistrantName_cef148b6-529d-4da5-9a8a-97495ca713ae" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityRegistrantName"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_EntityRegistrantName_cef148b6-529d-4da5-9a8a-97495ca713ae" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityIncorporationStateCountryCode_fb547865-69c9-4161-b354-769e690d1641" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityIncorporationStateCountryCode"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_EntityIncorporationStateCountryCode_fb547865-69c9-4161-b354-769e690d1641" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityTaxIdentificationNumber_46d16c1e-2fe7-40db-94ba-f9109453afda" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityTaxIdentificationNumber"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_EntityTaxIdentificationNumber_46d16c1e-2fe7-40db-94ba-f9109453afda" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressAddressLine1_30c23464-5c0e-48d6-9a0a-2e3b22722f94" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressAddressLine1"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_EntityAddressAddressLine1_30c23464-5c0e-48d6-9a0a-2e3b22722f94" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressCityOrTown_99e56068-89bd-417e-9819-6a22ede846b4" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressCityOrTown"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_EntityAddressCityOrTown_99e56068-89bd-417e-9819-6a22ede846b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressStateOrProvince_e164968a-f8b4-489e-a9a0-f3ca5b9c49d7" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressStateOrProvince"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_EntityAddressStateOrProvince_e164968a-f8b4-489e-a9a0-f3ca5b9c49d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityAddressPostalZipCode_9468d0bc-4079-4e56-8039-3d4a3f1eaf6d" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityAddressPostalZipCode"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_EntityAddressPostalZipCode_9468d0bc-4079-4e56-8039-3d4a3f1eaf6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CityAreaCode_ecb2abb4-8d24-49ba-84b5-29345335ef9b" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CityAreaCode"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_CityAreaCode_ecb2abb4-8d24-49ba-84b5-29345335ef9b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_LocalPhoneNumber_00cfe915-1119-40b8-bcdf-82cd998a7263" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_LocalPhoneNumber"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_LocalPhoneNumber_00cfe915-1119-40b8-bcdf-82cd998a7263" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_Security12bTitle_3938b7c7-02f3-4b66-9dae-034f705f2124" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_Security12bTitle"/>
    <link:presentationArc order="15" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_Security12bTitle_3938b7c7-02f3-4b66-9dae-034f705f2124" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_TradingSymbol_20c5a8ff-d87f-43b7-86e7-e1b6dfad7b27" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_TradingSymbol"/>
    <link:presentationArc order="16" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_TradingSymbol_20c5a8ff-d87f-43b7-86e7-e1b6dfad7b27" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_SecurityExchangeName_0eff4a5c-2fc1-4d3c-b039-b0cead58b7fd" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_SecurityExchangeName"/>
    <link:presentationArc order="17" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_SecurityExchangeName_0eff4a5c-2fc1-4d3c-b039-b0cead58b7fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCurrentReportingStatus_251329d2-8a4b-49f0-8560-ffa48420ba6c" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCurrentReportingStatus"/>
    <link:presentationArc order="18" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_EntityCurrentReportingStatus_251329d2-8a4b-49f0-8560-ffa48420ba6c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityInteractiveDataCurrent_61623df1-5d8e-43bb-964c-239dbb8d52db" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityInteractiveDataCurrent"/>
    <link:presentationArc order="19" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_EntityInteractiveDataCurrent_61623df1-5d8e-43bb-964c-239dbb8d52db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityFilerCategory_ab186086-db63-405d-8250-7e7f9fedd39d" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityFilerCategory"/>
    <link:presentationArc order="20" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_EntityFilerCategory_ab186086-db63-405d-8250-7e7f9fedd39d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntitySmallBusiness_3b108dd2-fc51-4bed-8de3-d0be96b3ed9a" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntitySmallBusiness"/>
    <link:presentationArc order="21" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_EntitySmallBusiness_3b108dd2-fc51-4bed-8de3-d0be96b3ed9a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityEmergingGrowthCompany_8952b4a8-e88e-41a9-a713-eae89f8711b4" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityEmergingGrowthCompany"/>
    <link:presentationArc order="22" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_EntityEmergingGrowthCompany_8952b4a8-e88e-41a9-a713-eae89f8711b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityShellCompany_d77896e3-7029-4eb2-b499-fe34ab80c8d8" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityShellCompany"/>
    <link:presentationArc order="23" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_EntityShellCompany_d77896e3-7029-4eb2-b499-fe34ab80c8d8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_ea1231db-211f-4c39-a095-2c1ad44c5f82" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCommonStockSharesOutstanding"/>
    <link:presentationArc order="24" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_ea1231db-211f-4c39-a095-2c1ad44c5f82" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_AmendmentFlag_b80d517a-a6e2-4355-bf96-dd204d3a1c20" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_AmendmentFlag"/>
    <link:presentationArc order="25" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_AmendmentFlag_b80d517a-a6e2-4355-bf96-dd204d3a1c20" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalYearFocus_e2ff844f-8868-4cf7-98fb-39454b93161b" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalYearFocus"/>
    <link:presentationArc order="26" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_DocumentFiscalYearFocus_e2ff844f-8868-4cf7-98fb-39454b93161b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_DocumentFiscalPeriodFocus_b04b4f62-0a22-4d4b-9616-e822cbedd55c" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_DocumentFiscalPeriodFocus"/>
    <link:presentationArc order="27" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_DocumentFiscalPeriodFocus_b04b4f62-0a22-4d4b-9616-e822cbedd55c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_EntityCentralIndexKey_71987d99-5da9-4bdd-9568-3214ad94593c" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_EntityCentralIndexKey"/>
    <link:presentationArc order="28" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_EntityCentralIndexKey_71987d99-5da9-4bdd-9568-3214ad94593c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_dei_CurrentFiscalYearEndDate_ab7eaf3d-604b-4e4a-86b0-69271111a3da" xlink:href="https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd#dei_CurrentFiscalYearEndDate"/>
    <link:presentationArc order="29" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_dei_CoverAbstract_92158395-f526-4b96-ae8d-8e5e4ca8e85a" xlink:to="loc_dei_CurrentFiscalYearEndDate_ab7eaf3d-604b-4e4a-86b0-69271111a3da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" xlink:type="simple" xlink:href="tyl-20200331.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementAbstract_47cefc6f-b381-40ce-8bf5-79e0b41d045d" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_6273e935-3913-422d-bd92-3cc812b36459" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementAbstract_47cefc6f-b381-40ce-8bf5-79e0b41d045d" xlink:to="loc_us-gaap_StatementTable_6273e935-3913-422d-bd92-3cc812b36459" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_02b845b7-67eb-4cb3-a8c3-023a787db3df" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_6273e935-3913-422d-bd92-3cc812b36459" xlink:to="loc_srt_ProductOrServiceAxis_02b845b7-67eb-4cb3-a8c3-023a787db3df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_7e9490fa-79a3-47ec-8051-8eef0f6e4c08" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_02b845b7-67eb-4cb3-a8c3-023a787db3df" xlink:to="loc_srt_ProductsAndServicesDomain_7e9490fa-79a3-47ec-8051-8eef0f6e4c08" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_SoftwareLicensesandRoyaltiesMember_5d766c6e-df95-453d-9e17-26ee25a092e9" xlink:href="tyl-20200331.xsd#tyl_SoftwareLicensesandRoyaltiesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_7e9490fa-79a3-47ec-8051-8eef0f6e4c08" xlink:to="loc_tyl_SoftwareLicensesandRoyaltiesMember_5d766c6e-df95-453d-9e17-26ee25a092e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubscriptionAndCirculationMember_9f8ce7b9-531d-4eab-b7bc-7df467adb2ab" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubscriptionAndCirculationMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_7e9490fa-79a3-47ec-8051-8eef0f6e4c08" xlink:to="loc_us-gaap_SubscriptionAndCirculationMember_9f8ce7b9-531d-4eab-b7bc-7df467adb2ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AcquiredSoftwareMember_57bd75a1-657d-4811-8626-ed220b345abf" xlink:href="tyl-20200331.xsd#tyl_AcquiredSoftwareMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_7e9490fa-79a3-47ec-8051-8eef0f6e4c08" xlink:to="loc_tyl_AcquiredSoftwareMember_57bd75a1-657d-4811-8626-ed220b345abf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TechnologyServiceMember_5a978df4-6193-4ae3-a1ef-a3cd52818a13" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TechnologyServiceMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_7e9490fa-79a3-47ec-8051-8eef0f6e4c08" xlink:to="loc_us-gaap_TechnologyServiceMember_5a978df4-6193-4ae3-a1ef-a3cd52818a13" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_SoftwareServicesMaintenanceandSubscriptionsMember_f71b09cc-d70f-445d-be4e-c421b579a51c" xlink:href="tyl-20200331.xsd#tyl_SoftwareServicesMaintenanceandSubscriptionsMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_7e9490fa-79a3-47ec-8051-8eef0f6e4c08" xlink:to="loc_tyl_SoftwareServicesMaintenanceandSubscriptionsMember_f71b09cc-d70f-445d-be4e-c421b579a51c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MaintenanceMember_a1e63fb4-b73b-472d-a7e4-a513cbf98ef8" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MaintenanceMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_7e9490fa-79a3-47ec-8051-8eef0f6e4c08" xlink:to="loc_us-gaap_MaintenanceMember_a1e63fb4-b73b-472d-a7e4-a513cbf98ef8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AppraisalServicesMember_1c6dfd01-fd57-4588-b77c-f207f382458d" xlink:href="tyl-20200331.xsd#tyl_AppraisalServicesMember"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_7e9490fa-79a3-47ec-8051-8eef0f6e4c08" xlink:to="loc_tyl_AppraisalServicesMember_1c6dfd01-fd57-4588-b77c-f207f382458d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_HardwareandOtherMember_fa37b6f6-80e1-4279-acf2-4b6910fc0d93" xlink:href="tyl-20200331.xsd#tyl_HardwareandOtherMember"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_7e9490fa-79a3-47ec-8051-8eef0f6e4c08" xlink:to="loc_tyl_HardwareandOtherMember_fa37b6f6-80e1-4279-acf2-4b6910fc0d93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_6273e935-3913-422d-bd92-3cc812b36459" xlink:to="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenuesAbstract_bf6d56bc-a624-429a-8d66-05c4b8547031" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenuesAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_RevenuesAbstract_bf6d56bc-a624-429a-8d66-05c4b8547031" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_a068cc69-69b4-474b-983b-67a47d6cd54a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenuesAbstract_bf6d56bc-a624-429a-8d66-05c4b8547031" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_a068cc69-69b4-474b-983b-67a47d6cd54a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfRevenueAbstract_ac12dbaf-e713-4a1a-9427-ab483e3b7a14" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfRevenueAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_CostOfRevenueAbstract_ac12dbaf-e713-4a1a-9427-ab483e3b7a14" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_5f457552-0d1a-4c8b-a833-4ccf5825b7bb" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CostOfRevenueAbstract_ac12dbaf-e713-4a1a-9427-ab483e3b7a14" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_5f457552-0d1a-4c8b-a833-4ccf5825b7bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_GrossProfit_409df176-d330-405a-a58d-25fb3fcd934a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_GrossProfit"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_GrossProfit_409df176-d330-405a-a58d-25fb3fcd934a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_2b7e5e0c-2fcd-49f9-b896-d60ee782caef" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_2b7e5e0c-2fcd-49f9-b896-d60ee782caef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost_aad333e3-bd5c-4400-aa5e-c6b021128e91" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost_aad333e3-bd5c-4400-aa5e-c6b021128e91" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets_73bb2de6-ead3-414c-9078-1959666d43a6" xlink:href="tyl-20200331.xsd#tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets_73bb2de6-ead3-414c-9078-1959666d43a6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_9cea7e15-c8b7-4767-908f-326944d7432f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_OperatingIncomeLoss_9cea7e15-c8b7-4767-908f-326944d7432f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_8e5e4be3-9f82-40cd-b7f2-8018a86b5d0f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_8e5e4be3-9f82-40cd-b7f2-8018a86b5d0f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_99bc7230-083b-4897-b357-2030b26ab5a1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_99bc7230-083b-4897-b357-2030b26ab5a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_b7b39ca3-4d44-457d-8916-806d01589df1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_b7b39ca3-4d44-457d-8916-806d01589df1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_cf819a64-6c3b-4e2d-8fa0-54013c4a098c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_NetIncomeLoss_cf819a64-6c3b-4e2d-8fa0-54013c4a098c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_59e4fb0f-daac-44dc-93dc-4bbdfb07565c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_7d2a0157-0fcf-40e2-92e1-4c94d2ce2a53" xlink:to="loc_us-gaap_EarningsPerShareAbstract_59e4fb0f-daac-44dc-93dc-4bbdfb07565c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_34c3fcf4-8e5c-4289-999a-7fa3321683a8" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_59e4fb0f-daac-44dc-93dc-4bbdfb07565c" xlink:to="loc_us-gaap_EarningsPerShareBasic_34c3fcf4-8e5c-4289-999a-7fa3321683a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_ff2ffac8-025e-408f-bf51-131c8aeb03a2" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_59e4fb0f-daac-44dc-93dc-4bbdfb07565c" xlink:to="loc_us-gaap_EarningsPerShareDiluted_ff2ffac8-025e-408f-bf51-131c8aeb03a2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" xlink:type="simple" xlink:href="tyl-20200331.xsd#CONDENSEDCONSOLIDATEDBALANCESHEETS"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_3d8bb0bf-cac4-431e-ad3f-5345a86ae42a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_3b888cb0-926a-4674-aeb0-16f07e6b05d3" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_3d8bb0bf-cac4-431e-ad3f-5345a86ae42a" xlink:to="loc_us-gaap_AssetsAbstract_3b888cb0-926a-4674-aeb0-16f07e6b05d3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrentAbstract_4fdf7783-3139-4bf4-877c-a7718e8cc490" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3b888cb0-926a-4674-aeb0-16f07e6b05d3" xlink:to="loc_us-gaap_AssetsCurrentAbstract_4fdf7783-3139-4bf4-877c-a7718e8cc490" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_becdbff5-634a-4c20-b651-70b3532d6d9f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_4fdf7783-3139-4bf4-877c-a7718e8cc490" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_becdbff5-634a-4c20-b651-70b3532d6d9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_5a94d14f-012e-4ba0-a076-c5d973e2c66c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_4fdf7783-3139-4bf4-877c-a7718e8cc490" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_5a94d14f-012e-4ba0-a076-c5d973e2c66c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermInvestments_234ef9a2-1321-44a1-bf6f-3155d4ea05ad" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermInvestments"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_4fdf7783-3139-4bf4-877c-a7718e8cc490" xlink:to="loc_us-gaap_ShortTermInvestments_234ef9a2-1321-44a1-bf6f-3155d4ea05ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrepaidExpenseCurrent_22faebed-5fd0-44b5-b46a-e06dac650a16" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrepaidExpenseCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_4fdf7783-3139-4bf4-877c-a7718e8cc490" xlink:to="loc_us-gaap_PrepaidExpenseCurrent_22faebed-5fd0-44b5-b46a-e06dac650a16" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxReceivable_f137cbbd-cbfd-4dda-bc21-feb5d85ca0ee" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxReceivable"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_4fdf7783-3139-4bf4-877c-a7718e8cc490" xlink:to="loc_us-gaap_IncomeTaxReceivable_f137cbbd-cbfd-4dda-bc21-feb5d85ca0ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsCurrent_675a47e3-5b66-44ce-89a6-8a2c3437f281" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_4fdf7783-3139-4bf4-877c-a7718e8cc490" xlink:to="loc_us-gaap_OtherAssetsCurrent_675a47e3-5b66-44ce-89a6-8a2c3437f281" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsCurrent_66100def-f3e1-4bb9-b403-ccfa2cc9ad6f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsCurrent"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsCurrentAbstract_4fdf7783-3139-4bf4-877c-a7718e8cc490" xlink:to="loc_us-gaap_AssetsCurrent_66100def-f3e1-4bb9-b403-ccfa2cc9ad6f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNetNoncurrent_896d0b8d-c8d1-4828-ba6b-501c378b6c9f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNetNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3b888cb0-926a-4674-aeb0-16f07e6b05d3" xlink:to="loc_us-gaap_AccountsReceivableNetNoncurrent_896d0b8d-c8d1-4828-ba6b-501c378b6c9f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_2c84e19a-24b0-474a-a860-128c0c7c2f4b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3b888cb0-926a-4674-aeb0-16f07e6b05d3" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_2c84e19a-24b0-474a-a860-128c0c7c2f4b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_b02abba3-836d-4a05-9688-043db3a03163" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3b888cb0-926a-4674-aeb0-16f07e6b05d3" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_b02abba3-836d-4a05-9688-043db3a03163" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsNoncurrentAbstract_09a6966f-692a-4285-9160-d9ded176da6d" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsNoncurrentAbstract"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3b888cb0-926a-4674-aeb0-16f07e6b05d3" xlink:to="loc_us-gaap_OtherAssetsNoncurrentAbstract_09a6966f-692a-4285-9160-d9ded176da6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Goodwill_945c7480-103f-4f71-9267-9314187ead94" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Goodwill"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherAssetsNoncurrentAbstract_09a6966f-692a-4285-9160-d9ded176da6d" xlink:to="loc_us-gaap_Goodwill_945c7480-103f-4f71-9267-9314187ead94" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_8bf192ef-84f7-49a6-9eda-7ac845805868" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherAssetsNoncurrentAbstract_09a6966f-692a-4285-9160-d9ded176da6d" xlink:to="loc_us-gaap_IntangibleAssetsNetExcludingGoodwill_8bf192ef-84f7-49a6-9eda-7ac845805868" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InvestmentsAndOtherNoncurrentAssets_517880d9-c471-403a-9e3e-130d93a48369" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InvestmentsAndOtherNoncurrentAssets"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OtherAssetsNoncurrentAbstract_09a6966f-692a-4285-9160-d9ded176da6d" xlink:to="loc_us-gaap_InvestmentsAndOtherNoncurrentAssets_517880d9-c471-403a-9e3e-130d93a48369" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_Assets_5b39983a-a1cd-40c2-bf60-1f228ec17644" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_Assets"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_3b888cb0-926a-4674-aeb0-16f07e6b05d3" xlink:to="loc_us-gaap_Assets_5b39983a-a1cd-40c2-bf60-1f228ec17644" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_40e41f4b-6a3c-4a2c-ba22-291a308b4715" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_3d8bb0bf-cac4-431e-ad3f-5345a86ae42a" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_40e41f4b-6a3c-4a2c-ba22-291a308b4715" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_7f2ee327-fdd3-479f-8b91-51281ad02bc7" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_40e41f4b-6a3c-4a2c-ba22-291a308b4715" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_7f2ee327-fdd3-479f-8b91-51281ad02bc7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsPayableCurrent_b5f5b626-7587-4a45-99c3-459c631b7645" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsPayableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_7f2ee327-fdd3-479f-8b91-51281ad02bc7" xlink:to="loc_us-gaap_AccountsPayableCurrent_b5f5b626-7587-4a45-99c3-459c631b7645" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_61b06c89-19fc-4f74-85ef-bcab20d3bec9" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_7f2ee327-fdd3-479f-8b91-51281ad02bc7" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_61b06c89-19fc-4f74-85ef-bcab20d3bec9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_6ca215b6-633e-4bc1-90e6-e5ccf48aeade" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_7f2ee327-fdd3-479f-8b91-51281ad02bc7" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_6ca215b6-633e-4bc1-90e6-e5ccf48aeade" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TaxesPayableCurrent_a295c77e-d75a-4a26-9494-73888b33fe8b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TaxesPayableCurrent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_7f2ee327-fdd3-479f-8b91-51281ad02bc7" xlink:to="loc_us-gaap_TaxesPayableCurrent_a295c77e-d75a-4a26-9494-73888b33fe8b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityCurrent_725fe4bb-d61c-41d0-978f-e16435bf31bc" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityCurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_7f2ee327-fdd3-479f-8b91-51281ad02bc7" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityCurrent_725fe4bb-d61c-41d0-978f-e16435bf31bc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesCurrent_af50b254-c5f3-412c-95a4-04478f101ea5" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesCurrent"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_7f2ee327-fdd3-479f-8b91-51281ad02bc7" xlink:to="loc_us-gaap_LiabilitiesCurrent_af50b254-c5f3-412c-95a4-04478f101ea5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermLineOfCredit_b30b9048-a806-4883-9d89-f033643cc8c7" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermLineOfCredit"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_40e41f4b-6a3c-4a2c-ba22-291a308b4715" xlink:to="loc_us-gaap_LongTermLineOfCredit_b30b9048-a806-4883-9d89-f033643cc8c7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent_3ba5de79-6dcd-47e2-89bb-77a15247e6b5" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_40e41f4b-6a3c-4a2c-ba22-291a308b4715" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityNoncurrent_3ba5de79-6dcd-47e2-89bb-77a15247e6b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_4768536f-ef1f-438e-bd17-1fabf63ee225" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_40e41f4b-6a3c-4a2c-ba22-291a308b4715" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_4768536f-ef1f-438e-bd17-1fabf63ee225" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_3a8becca-6611-4f2e-8247-f9b0952de091" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_40e41f4b-6a3c-4a2c-ba22-291a308b4715" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_3a8becca-6611-4f2e-8247-f9b0952de091" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingencies_1b04caaa-a7da-49fb-a296-31afcc4776d0" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingencies"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_40e41f4b-6a3c-4a2c-ba22-291a308b4715" xlink:to="loc_us-gaap_CommitmentsAndContingencies_1b04caaa-a7da-49fb-a296-31afcc4776d0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityAbstract_c05f7f76-487b-4a07-8b8a-5daa6b72f31f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityAbstract"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_40e41f4b-6a3c-4a2c-ba22-291a308b4715" xlink:to="loc_us-gaap_StockholdersEquityAbstract_c05f7f76-487b-4a07-8b8a-5daa6b72f31f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockValue_c0c8838e-310c-4989-8cdb-a1225e4f2329" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PreferredStockValue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_c05f7f76-487b-4a07-8b8a-5daa6b72f31f" xlink:to="loc_us-gaap_PreferredStockValue_c0c8838e-310c-4989-8cdb-a1225e4f2329" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockValue_a9880b8b-63c7-4544-a1fd-df0a14332a36" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockValue"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_c05f7f76-487b-4a07-8b8a-5daa6b72f31f" xlink:to="loc_us-gaap_CommonStockValue_a9880b8b-63c7-4544-a1fd-df0a14332a36" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_bf300284-0b6e-448f-adc5-d8e8d7976047" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_c05f7f76-487b-4a07-8b8a-5daa6b72f31f" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_bf300284-0b6e-448f-adc5-d8e8d7976047" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_6d5088d5-6828-4cfc-a990-6e4c95f9d837" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_c05f7f76-487b-4a07-8b8a-5daa6b72f31f" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_6d5088d5-6828-4cfc-a990-6e4c95f9d837" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_f78ad198-3055-4019-8ed0-4cbd0672cbda" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_c05f7f76-487b-4a07-8b8a-5daa6b72f31f" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_f78ad198-3055-4019-8ed0-4cbd0672cbda" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValue_4afa78b8-5eba-47fb-8965-ee8c88497815" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockValue"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_c05f7f76-487b-4a07-8b8a-5daa6b72f31f" xlink:to="loc_us-gaap_TreasuryStockValue_4afa78b8-5eba-47fb-8965-ee8c88497815" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_631208b9-d228-4078-945a-e603c846fb51" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StockholdersEquityAbstract_c05f7f76-487b-4a07-8b8a-5daa6b72f31f" xlink:to="loc_us-gaap_StockholdersEquity_631208b9-d228-4078-945a-e603c846fb51" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_19084157-0e2c-4277-9866-1116f94c9b39" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_40e41f4b-6a3c-4a2c-ba22-291a308b4715" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_19084157-0e2c-4277-9866-1116f94c9b39" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" xlink:type="simple" xlink:href="tyl-20200331.xsd#CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_e600a5d7-3b91-45cd-89ae-d8fc7849f5c3" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_3b58d004-e5c4-4fe1-bb44-58259372897a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e600a5d7-3b91-45cd-89ae-d8fc7849f5c3" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_3b58d004-e5c4-4fe1-bb44-58259372897a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockParOrStatedValuePerShare_0e57a9b5-7af2-4def-885c-e9c58f5839ff" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PreferredStockParOrStatedValuePerShare"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e600a5d7-3b91-45cd-89ae-d8fc7849f5c3" xlink:to="loc_us-gaap_PreferredStockParOrStatedValuePerShare_0e57a9b5-7af2-4def-885c-e9c58f5839ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesAuthorized_17b6f7bf-e4ed-4dca-8b7c-b0ac30128f39" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PreferredStockSharesAuthorized"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e600a5d7-3b91-45cd-89ae-d8fc7849f5c3" xlink:to="loc_us-gaap_PreferredStockSharesAuthorized_17b6f7bf-e4ed-4dca-8b7c-b0ac30128f39" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PreferredStockSharesIssued_2e2e74ea-b32f-471d-a1ec-3500542673ab" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PreferredStockSharesIssued"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e600a5d7-3b91-45cd-89ae-d8fc7849f5c3" xlink:to="loc_us-gaap_PreferredStockSharesIssued_2e2e74ea-b32f-471d-a1ec-3500542673ab" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_4090a029-c70f-499f-b7ad-1ea64796f4ef" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e600a5d7-3b91-45cd-89ae-d8fc7849f5c3" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_4090a029-c70f-499f-b7ad-1ea64796f4ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_428cf656-bba9-42a0-a395-21e7440100b8" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesAuthorized"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e600a5d7-3b91-45cd-89ae-d8fc7849f5c3" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_428cf656-bba9-42a0-a395-21e7440100b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesIssued_cccee373-681c-4412-8d70-bbaea6300acb" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesIssued"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e600a5d7-3b91-45cd-89ae-d8fc7849f5c3" xlink:to="loc_us-gaap_CommonStockSharesIssued_cccee373-681c-4412-8d70-bbaea6300acb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockSharesOutstanding_c855db59-892d-464b-89e9-8cf7ba0dc227" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockSharesOutstanding"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e600a5d7-3b91-45cd-89ae-d8fc7849f5c3" xlink:to="loc_us-gaap_CommonStockSharesOutstanding_c855db59-892d-464b-89e9-8cf7ba0dc227" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockShares_90b76a23-e8de-4308-8130-6896ec831dee" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockShares"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_e600a5d7-3b91-45cd-89ae-d8fc7849f5c3" xlink:to="loc_us-gaap_TreasuryStockShares_90b76a23-e8de-4308-8130-6896ec831dee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="simple" xlink:href="tyl-20200331.xsd#CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_ac0bc0a1-bad7-4aaa-a3ff-72843ff9f6d0" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_55849ce6-6415-4392-8005-b736d1aa90fd" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_ac0bc0a1-bad7-4aaa-a3ff-72843ff9f6d0" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_55849ce6-6415-4392-8005-b736d1aa90fd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_14d2e3fc-b9ad-4838-a0cd-052de1318f8b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_55849ce6-6415-4392-8005-b736d1aa90fd" xlink:to="loc_us-gaap_NetIncomeLoss_14d2e3fc-b9ad-4838-a0cd-052de1318f8b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_747edb28-62e6-470a-999d-33a607ef0c73" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_55849ce6-6415-4392-8005-b736d1aa90fd" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_747edb28-62e6-470a-999d-33a607ef0c73" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DepreciationDepletionAndAmortization_927032f8-4e51-4d5e-9eaa-a54e72f67eac" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DepreciationDepletionAndAmortization"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_747edb28-62e6-470a-999d-33a607ef0c73" xlink:to="loc_us-gaap_DepreciationDepletionAndAmortization_927032f8-4e51-4d5e-9eaa-a54e72f67eac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShareBasedCompensation_aefbb0f5-32e5-4716-86cf-d56df665cad6" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShareBasedCompensation"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_747edb28-62e6-470a-999d-33a607ef0c73" xlink:to="loc_us-gaap_ShareBasedCompensation_aefbb0f5-32e5-4716-86cf-d56df665cad6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_OperatingLeaseRightOfUseAssetsNonCash_16dc5b64-dc06-46c2-93e5-6400e894a253" xlink:href="tyl-20200331.xsd#tyl_OperatingLeaseRightOfUseAssetsNonCash"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_747edb28-62e6-470a-999d-33a607ef0c73" xlink:to="loc_tyl_OperatingLeaseRightOfUseAssetsNonCash_16dc5b64-dc06-46c2-93e5-6400e894a253" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_32eec822-0ad4-41a1-b7aa-e2f0740b8f45" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_747edb28-62e6-470a-999d-33a607ef0c73" xlink:to="loc_us-gaap_DeferredIncomeTaxExpenseBenefit_32eec822-0ad4-41a1-b7aa-e2f0740b8f45" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_c364ebbe-6e4e-474f-b3e5-ff95bb9e8a65" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_747edb28-62e6-470a-999d-33a607ef0c73" xlink:to="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_c364ebbe-6e4e-474f-b3e5-ff95bb9e8a65" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_04f61c01-2c71-4045-9ac0-71561eec67db" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_c364ebbe-6e4e-474f-b3e5-ff95bb9e8a65" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_04f61c01-2c71-4045-9ac0-71561eec67db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_5bbdc337-0079-439b-8eed-f3e1564660ca" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_c364ebbe-6e4e-474f-b3e5-ff95bb9e8a65" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable_5bbdc337-0079-439b-8eed-f3e1564660ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_13105239-e72a-4514-b41a-6e7d2586f42f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_c364ebbe-6e4e-474f-b3e5-ff95bb9e8a65" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_13105239-e72a-4514-b41a-6e7d2586f42f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_61549d24-92b8-417f-a870-6e9dd257745f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_c364ebbe-6e4e-474f-b3e5-ff95bb9e8a65" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_61549d24-92b8-417f-a870-6e9dd257745f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_IncreaseDecreaseInOperatingLeaseLiabilities_1b1a2213-ab28-4337-babe-9e988dd12658" xlink:href="tyl-20200331.xsd#tyl_IncreaseDecreaseInOperatingLeaseLiabilities"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_c364ebbe-6e4e-474f-b3e5-ff95bb9e8a65" xlink:to="loc_tyl_IncreaseDecreaseInOperatingLeaseLiabilities_1b1a2213-ab28-4337-babe-9e988dd12658" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_31681ac9-1b18-4f60-95d8-dd668f34e920" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_c364ebbe-6e4e-474f-b3e5-ff95bb9e8a65" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_31681ac9-1b18-4f60-95d8-dd668f34e920" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_2b24f016-5efe-4c05-bc6a-2236e3f4efbd" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInContractWithCustomerLiability"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_c364ebbe-6e4e-474f-b3e5-ff95bb9e8a65" xlink:to="loc_us-gaap_IncreaseDecreaseInContractWithCustomerLiability_2b24f016-5efe-4c05-bc6a-2236e3f4efbd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_ef25ae0e-cb45-4d32-a39d-cd9e4fafdf28" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract_55849ce6-6415-4392-8005-b736d1aa90fd" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_ef25ae0e-cb45-4d32-a39d-cd9e4fafdf28" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_50277a8a-386c-4bce-a1c2-b354dcaf6fdf" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_ac0bc0a1-bad7-4aaa-a3ff-72843ff9f6d0" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_50277a8a-386c-4bce-a1c2-b354dcaf6fdf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_070ce53c-7e7c-4154-8ee0-ff5536f42278" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_50277a8a-386c-4bce-a1c2-b354dcaf6fdf" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_070ce53c-7e7c-4154-8ee0-ff5536f42278" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireMarketableSecurities_cd72d806-6b51-4ec0-8eb6-713009651025" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireMarketableSecurities"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_50277a8a-386c-4bce-a1c2-b354dcaf6fdf" xlink:to="loc_us-gaap_PaymentsToAcquireMarketableSecurities_cd72d806-6b51-4ec0-8eb6-713009651025" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_9a6a3622-7077-4fd3-8b61-e7d81cb427e1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_50277a8a-386c-4bce-a1c2-b354dcaf6fdf" xlink:to="loc_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities_9a6a3622-7077-4fd3-8b61-e7d81cb427e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireEquityMethodInvestments_151d3158-1e71-4a90-b743-1b3780c595d1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_50277a8a-386c-4bce-a1c2-b354dcaf6fdf" xlink:to="loc_us-gaap_PaymentsToAcquireEquityMethodInvestments_151d3158-1e71-4a90-b743-1b3780c595d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfEquityMethodInvestments_31822f80-ca04-40dc-a468-bb729e3c5876" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_50277a8a-386c-4bce-a1c2-b354dcaf6fdf" xlink:to="loc_us-gaap_ProceedsFromSaleOfEquityMethodInvestments_31822f80-ca04-40dc-a468-bb729e3c5876" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForSoftware_e86bd29a-3851-4c7b-b55a-5d38f4556114" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsForSoftware"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_50277a8a-386c-4bce-a1c2-b354dcaf6fdf" xlink:to="loc_us-gaap_PaymentsForSoftware_e86bd29a-3851-4c7b-b55a-5d38f4556114" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_a6832de8-6aa7-4431-a2ca-2068386b0b36" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_50277a8a-386c-4bce-a1c2-b354dcaf6fdf" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_a6832de8-6aa7-4431-a2ca-2068386b0b36" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForProceedsFromOtherInvestingActivities_a9053ffe-1e72-4b7b-90c4-5748e3cf32ad" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsForProceedsFromOtherInvestingActivities"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_50277a8a-386c-4bce-a1c2-b354dcaf6fdf" xlink:to="loc_us-gaap_PaymentsForProceedsFromOtherInvestingActivities_a9053ffe-1e72-4b7b-90c4-5748e3cf32ad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_3290657e-879b-463a-831e-af91e38be46e" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract_50277a8a-386c-4bce-a1c2-b354dcaf6fdf" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_3290657e-879b-463a-831e-af91e38be46e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_842eae8e-c817-4f3e-9c7b-7522fe0eec5d" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_ac0bc0a1-bad7-4aaa-a3ff-72843ff9f6d0" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_842eae8e-c817-4f3e-9c7b-7522fe0eec5d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromLinesOfCredit_707cbb94-3792-42e6-a80c-636ae7e32155" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromLinesOfCredit"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_842eae8e-c817-4f3e-9c7b-7522fe0eec5d" xlink:to="loc_us-gaap_ProceedsFromLinesOfCredit_707cbb94-3792-42e6-a80c-636ae7e32155" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_f08cf8a7-dc92-458b-857e-120d70c7cc93" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_842eae8e-c817-4f3e-9c7b-7522fe0eec5d" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_f08cf8a7-dc92-458b-857e-120d70c7cc93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_07974762-182e-4169-8269-b3141e65d00a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_842eae8e-c817-4f3e-9c7b-7522fe0eec5d" xlink:to="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_07974762-182e-4169-8269-b3141e65d00a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockOptionsExercised_2e3667bb-e74d-43fd-a96f-59222911c482" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromStockOptionsExercised"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_842eae8e-c817-4f3e-9c7b-7522fe0eec5d" xlink:to="loc_us-gaap_ProceedsFromStockOptionsExercised_2e3667bb-e74d-43fd-a96f-59222911c482" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromStockPlans_b8025b38-cce1-443c-aec3-21d4804a48d1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromStockPlans"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_842eae8e-c817-4f3e-9c7b-7522fe0eec5d" xlink:to="loc_us-gaap_ProceedsFromStockPlans_b8025b38-cce1-443c-aec3-21d4804a48d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_bf0cad26-39c9-49ce-8763-e7ec8bf63fbf" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract_842eae8e-c817-4f3e-9c7b-7522fe0eec5d" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_bf0cad26-39c9-49ce-8763-e7ec8bf63fbf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_397d2d45-d9b5-406b-b29c-816956b9ff4d" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_ac0bc0a1-bad7-4aaa-a3ff-72843ff9f6d0" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_397d2d45-d9b5-406b-b29c-816956b9ff4d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_cf59746e-6d44-4d2f-a38d-785df417b42a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_ac0bc0a1-bad7-4aaa-a3ff-72843ff9f6d0" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_cf59746e-6d44-4d2f-a38d-785df417b42a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_92fa09d7-7185-46f6-ac9b-1b627bc7dec0" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_ac0bc0a1-bad7-4aaa-a3ff-72843ff9f6d0" xlink:to="loc_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_92fa09d7-7185-46f6-ac9b-1b627bc7dec0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY" xlink:type="simple" xlink:href="tyl-20200331.xsd#CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_12eb6fcc-e13a-406f-873d-e1fc13882ebd" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementTable_e8991b10-4230-450e-8e37-00977c42ec53" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_12eb6fcc-e13a-406f-873d-e1fc13882ebd" xlink:to="loc_us-gaap_StatementTable_e8991b10-4230-450e-8e37-00977c42ec53" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_51517d3a-d7b0-449d-895e-38c846dc9985" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementEquityComponentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_e8991b10-4230-450e-8e37-00977c42ec53" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_51517d3a-d7b0-449d-895e-38c846dc9985" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityComponentDomain_50aaeec3-5a3c-4cdd-a2fb-bb16f41e6567" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityComponentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_51517d3a-d7b0-449d-895e-38c846dc9985" xlink:to="loc_us-gaap_EquityComponentDomain_50aaeec3-5a3c-4cdd-a2fb-bb16f41e6567" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommonStockMember_157c9a9a-0bd5-4108-930f-3f258eeb2899" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommonStockMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_50aaeec3-5a3c-4cdd-a2fb-bb16f41e6567" xlink:to="loc_us-gaap_CommonStockMember_157c9a9a-0bd5-4108-930f-3f258eeb2899" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_55ebf2ba-9f58-43eb-b140-a02861cf8c58" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_50aaeec3-5a3c-4cdd-a2fb-bb16f41e6567" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_55ebf2ba-9f58-43eb-b140-a02861cf8c58" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_3684dfab-d511-4a63-979f-d8d5624d8e7e" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_50aaeec3-5a3c-4cdd-a2fb-bb16f41e6567" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_3684dfab-d511-4a63-979f-d8d5624d8e7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RetainedEarningsMember_f6daf6f0-9529-4546-9622-7587bf50a812" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RetainedEarningsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_50aaeec3-5a3c-4cdd-a2fb-bb16f41e6567" xlink:to="loc_us-gaap_RetainedEarningsMember_f6daf6f0-9529-4546-9622-7587bf50a812" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockMember_e6c29aeb-d349-4c94-8e2a-6d5d151a28af" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityComponentDomain_50aaeec3-5a3c-4cdd-a2fb-bb16f41e6567" xlink:to="loc_us-gaap_TreasuryStockMember_e6c29aeb-d349-4c94-8e2a-6d5d151a28af" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CumulativeEffectPeriodOfAdoptionAxis_b89505b0-9952-4d8a-8661-404b5b76cc55" xlink:href="tyl-20200331.xsd#tyl_CumulativeEffectPeriodOfAdoptionAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_e8991b10-4230-450e-8e37-00977c42ec53" xlink:to="loc_tyl_CumulativeEffectPeriodOfAdoptionAxis_b89505b0-9952-4d8a-8661-404b5b76cc55" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CumulativeEffectPeriodOfAdoptionDomain_5b433162-d02b-4cec-bb1b-2cf64cd3dc7e" xlink:href="tyl-20200331.xsd#tyl_CumulativeEffectPeriodOfAdoptionDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_tyl_CumulativeEffectPeriodOfAdoptionAxis_b89505b0-9952-4d8a-8661-404b5b76cc55" xlink:to="loc_tyl_CumulativeEffectPeriodOfAdoptionDomain_5b433162-d02b-4cec-bb1b-2cf64cd3dc7e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CumulativeEffectPeriodOfAdoptionAdjustmentMember_7f904f36-805d-4cae-862b-618df9025973" xlink:href="tyl-20200331.xsd#tyl_CumulativeEffectPeriodOfAdoptionAdjustmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_tyl_CumulativeEffectPeriodOfAdoptionDomain_5b433162-d02b-4cec-bb1b-2cf64cd3dc7e" xlink:to="loc_tyl_CumulativeEffectPeriodOfAdoptionAdjustmentMember_7f904f36-805d-4cae-862b-618df9025973" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementLineItems_d7b55dba-6d82-4e60-8fd2-38bccef15d36" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementTable_e8991b10-4230-450e-8e37-00977c42ec53" xlink:to="loc_us-gaap_StatementLineItems_d7b55dba-6d82-4e60-8fd2-38bccef15d36" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementLineItems_d7b55dba-6d82-4e60-8fd2-38bccef15d36" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_de0c4e14-d4e8-46ea-8479-81793b5ea0c9" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_StockholdersEquity_de0c4e14-d4e8-46ea-8479-81793b5ea0c9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesIssued_ddb7d0d4-e05b-4050-9be1-163a331d3b6a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharesIssued"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_SharesIssued_ddb7d0d4-e05b-4050-9be1-163a331d3b6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_5b25c396-3d82-4f78-a609-c921b4a73204" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_NetIncomeLoss_5b25c396-3d82-4f78-a609-c921b4a73204" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_adf8375a-e984-4627-850b-72ef3eeb6978" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation_adf8375a-e984-4627-850b-72ef3eeb6978" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_c008b4db-812b-44e1-974b-4add4413dc81" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_c008b4db-812b-44e1-974b-4add4413dc81" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_f09e734f-93e9-4a62-a87d-eca6cee2cd35" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation_f09e734f-93e9-4a62-a87d-eca6cee2cd35" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_bc67e229-55f5-4f89-aa5f-5a02664bf583" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_bc67e229-55f5-4f89-aa5f-5a02664bf583" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_725cb9ce-32e9-4c78-aea1-65ccc920abc9" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_725cb9ce-32e9-4c78-aea1-65ccc920abc9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_7b6777e5-48b9-45c8-ae49-14c90cf3a8e6" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_7b6777e5-48b9-45c8-ae49-14c90cf3a8e6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_22dbc3d9-e000-4c79-adab-875dc0dcb053" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:presentationArc order="10" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_22dbc3d9-e000-4c79-adab-875dc0dcb053" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValueAcquiredCostMethod_3dea0129-ed1c-4b43-97a0-e8a9c7723c64" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod"/>
    <link:presentationArc order="11" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_TreasuryStockValueAcquiredCostMethod_3dea0129-ed1c-4b43-97a0-e8a9c7723c64" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockSharesAcquired_046bd83a-4985-4226-8cb1-bcaeabb80f09" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockSharesAcquired"/>
    <link:presentationArc order="12" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_TreasuryStockSharesAcquired_046bd83a-4985-4226-8cb1-bcaeabb80f09" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquity_ac9cc1e8-82a3-490d-a2e3-9a973307e37f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquity"/>
    <link:presentationArc order="13" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_StockholdersEquity_ac9cc1e8-82a3-490d-a2e3-9a973307e37f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SharesIssued_752950bf-01ad-4fcd-87dc-0832b656371c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SharesIssued"/>
    <link:presentationArc order="14" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_0b9ab758-bc15-490a-8462-9640d1330da2" xlink:to="loc_us-gaap_SharesIssued_752950bf-01ad-4fcd-87dc-0832b656371c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/BasisofPresentation" xlink:type="simple" xlink:href="tyl-20200331.xsd#BasisofPresentation"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/BasisofPresentation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_22374d92-2c7e-486a-ac2e-3c135f0ba726" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_c9682b34-52fd-4d8b-8847-903b1e93654f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_22374d92-2c7e-486a-ac2e-3c135f0ba726" xlink:to="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_c9682b34-52fd-4d8b-8847-903b1e93654f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPolicies" xlink:type="simple" xlink:href="tyl-20200331.xsd#AccountingStandardsandSignificantAccountingPolicies"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_f601c6f4-2510-450a-9184-92ef9a58be02" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock_611e2558-7f27-4555-a7c5-f819dce10b94" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_f601c6f4-2510-450a-9184-92ef9a58be02" xlink:to="loc_us-gaap_SignificantAccountingPoliciesTextBlock_611e2558-7f27-4555-a7c5-f819dce10b94" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="tyl-20200331.xsd#AccountingStandardsandSignificantAccountingPoliciesPolicies"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesPolicies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_2588aaca-774f-4f36-990f-9baef97e7569" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UseOfEstimates_6bbbf061-fabe-4372-9e61-da3c272d5b21" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UseOfEstimates"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_2588aaca-774f-4f36-990f-9baef97e7569" xlink:to="loc_us-gaap_UseOfEstimates_6bbbf061-fabe-4372-9e61-da3c272d5b21" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_977c2337-1137-4d4b-a52a-c61dbf380dde" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerPolicyTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_2588aaca-774f-4f36-990f-9baef97e7569" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock_977c2337-1137-4d4b-a52a-c61dbf380dde" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy_2905f139-0569-4b72-9791-a5619ef1bc56" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_2588aaca-774f-4f36-990f-9baef97e7569" xlink:to="loc_us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy_2905f139-0569-4b72-9791-a5619ef1bc56" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_d5cb7e80-1bd5-4f1a-924c-50e38cf66d6d" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_2588aaca-774f-4f36-990f-9baef97e7569" xlink:to="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_d5cb7e80-1bd5-4f1a-924c-50e38cf66d6d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_050f708b-91da-4d02-b4f6-7fe230f858e2" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountingPoliciesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_eda7ae16-2e5f-4411-a02e-6f0649c1f126" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_050f708b-91da-4d02-b4f6-7fe230f858e2" xlink:to="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_eda7ae16-2e5f-4411-a02e-6f0649c1f126" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_f7193652-b69e-4863-90df-856e1e31629b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_eda7ae16-2e5f-4411-a02e-6f0649c1f126" xlink:to="loc_us-gaap_CreditFacilityAxis_f7193652-b69e-4863-90df-856e1e31629b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_7e1d4ef6-62dd-4fb7-b100-a23bf71cb880" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityAxis_f7193652-b69e-4863-90df-856e1e31629b" xlink:to="loc_us-gaap_CreditFacilityDomain_7e1d4ef6-62dd-4fb7-b100-a23bf71cb880" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_328504ad-d119-4d10-8bed-c1c515b7a4ca" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_7e1d4ef6-62dd-4fb7-b100-a23bf71cb880" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_328504ad-d119-4d10-8bed-c1c515b7a4ca" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_4e375224-d633-4395-a5a8-57d8bfa2cd41" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_eda7ae16-2e5f-4411-a02e-6f0649c1f126" xlink:to="loc_us-gaap_DebtInstrumentAxis_4e375224-d633-4395-a5a8-57d8bfa2cd41" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_7547c29c-be9f-49ea-b773-833d69f5a71f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_4e375224-d633-4395-a5a8-57d8bfa2cd41" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_7547c29c-be9f-49ea-b773-833d69f5a71f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CreditAgreementMember_330cfcd8-fdfe-4171-a34b-8ca4fc422839" xlink:href="tyl-20200331.xsd#tyl_CreditAgreementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_7547c29c-be9f-49ea-b773-833d69f5a71f" xlink:to="loc_tyl_CreditAgreementMember_330cfcd8-fdfe-4171-a34b-8ca4fc422839" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_9242b22d-39f5-4b9f-9eea-4648bba9580b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_eda7ae16-2e5f-4411-a02e-6f0649c1f126" xlink:to="loc_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_9242b22d-39f5-4b9f-9eea-4648bba9580b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivableTypeDomain_2f444a0c-db38-4b2b-b786-eee7b57c44b3" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivableTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis_9242b22d-39f5-4b9f-9eea-4648bba9580b" xlink:to="loc_us-gaap_ReceivableTypeDomain_2f444a0c-db38-4b2b-b786-eee7b57c44b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_RetentionReceivableMember_78607cb3-5252-4feb-8792-4dac7cec283c" xlink:href="tyl-20200331.xsd#tyl_RetentionReceivableMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivableTypeDomain_2f444a0c-db38-4b2b-b786-eee7b57c44b3" xlink:to="loc_tyl_RetentionReceivableMember_78607cb3-5252-4feb-8792-4dac7cec283c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_b781aadf-234e-4a33-a053-c7c1fa1fd377" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_eda7ae16-2e5f-4411-a02e-6f0649c1f126" xlink:to="loc_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_b781aadf-234e-4a33-a053-c7c1fa1fd377" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReceivablesBillingStatusDomain_a8aa6c80-83be-4475-9f62-feb8947b1b6c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReceivablesBillingStatusDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis_b781aadf-234e-4a33-a053-c7c1fa1fd377" xlink:to="loc_us-gaap_ReceivablesBillingStatusDomain_a8aa6c80-83be-4475-9f62-feb8947b1b6c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_UnbilledRevenuesMember_3bbb5c60-a2e4-46f3-a7e3-cd547e85228c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_UnbilledRevenuesMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ReceivablesBillingStatusDomain_a8aa6c80-83be-4475-9f62-feb8947b1b6c" xlink:to="loc_us-gaap_UnbilledRevenuesMember_3bbb5c60-a2e4-46f3-a7e3-cd547e85228c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_656c88f9-ad2b-4a8c-973d-0e55a728ed5b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable_eda7ae16-2e5f-4411-a02e-6f0649c1f126" xlink:to="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_656c88f9-ad2b-4a8c-973d-0e55a728ed5b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_RecurringRevenuePercentageOfTotalRevenue_9b1fbe37-54f6-436b-9a22-3d53fd2d3c96" xlink:href="tyl-20200331.xsd#tyl_RecurringRevenuePercentageOfTotalRevenue"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_656c88f9-ad2b-4a8c-973d-0e55a728ed5b" xlink:to="loc_tyl_RecurringRevenuePercentageOfTotalRevenue_9b1fbe37-54f6-436b-9a22-3d53fd2d3c96" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CashCashEquivalentsAndShortTermInvestments_3626b60d-d78c-40e7-8d86-23bb487f7bf8" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CashCashEquivalentsAndShortTermInvestments"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_656c88f9-ad2b-4a8c-973d-0e55a728ed5b" xlink:to="loc_us-gaap_CashCashEquivalentsAndShortTermInvestments_3626b60d-d78c-40e7-8d86-23bb487f7bf8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_e49ecbab-9028-4d4a-af66-df11585e5a06" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_656c88f9-ad2b-4a8c-973d-0e55a728ed5b" xlink:to="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_e49ecbab-9028-4d4a-af66-df11585e5a06" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AccountsReceivableNet_bcc2d34f-019d-4f60-abc2-177ce7555caa" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AccountsReceivableNet"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_656c88f9-ad2b-4a8c-973d-0e55a728ed5b" xlink:to="loc_us-gaap_AccountsReceivableNet_bcc2d34f-019d-4f60-abc2-177ce7555caa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_4c96a7ac-af45-4d90-bc59-0f95000e821c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivable"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems_656c88f9-ad2b-4a8c-973d-0e55a728ed5b" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivable_4c96a7ac-af45-4d90-bc59-0f95000e821c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/Acquisitions" xlink:type="simple" xlink:href="tyl-20200331.xsd#Acquisitions"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/Acquisitions" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_306909d5-6c83-4209-8926-ea6586620916" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationDisclosureTextBlock_444cfb45-f863-4589-bafa-1aed367c9602" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_306909d5-6c83-4209-8926-ea6586620916" xlink:to="loc_us-gaap_BusinessCombinationDisclosureTextBlock_444cfb45-f863-4589-bafa-1aed367c9602" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/AcquisitionsNarrativeDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#AcquisitionsNarrativeDetails"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/AcquisitionsNarrativeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessCombinationsAbstract_dda5bffc-3908-410f-9a6a-75cfe28475d8" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessCombinationsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_24a79bc0-595a-46d5-af96-a2297eedf2fa" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessCombinationsAbstract_dda5bffc-3908-410f-9a6a-75cfe28475d8" xlink:to="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_24a79bc0-595a-46d5-af96-a2297eedf2fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_62d148d6-3a7d-4554-893d-4b5f6b3cce9d" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_24a79bc0-595a-46d5-af96-a2297eedf2fa" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_62d148d6-3a7d-4554-893d-4b5f6b3cce9d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_b9745969-e475-4b15-a458-b1fa57920dfc" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_62d148d6-3a7d-4554-893d-4b5f6b3cce9d" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_b9745969-e475-4b15-a458-b1fa57920dfc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_MPHoldingsParentInc.dbaMicroPactMember_6296f4ad-1be6-4766-a3b4-e7a7cf31fff3" xlink:href="tyl-20200331.xsd#tyl_MPHoldingsParentInc.dbaMicroPactMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_b9745969-e475-4b15-a458-b1fa57920dfc" xlink:to="loc_tyl_MPHoldingsParentInc.dbaMicroPactMember_6296f4ad-1be6-4766-a3b4-e7a7cf31fff3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_BusinessAcquisitionLineItems_cfb68813-ea29-4699-82dd-c9644f6b86b7" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_BusinessAcquisitionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_24a79bc0-595a-46d5-af96-a2297eedf2fa" xlink:to="loc_us-gaap_BusinessAcquisitionLineItems_cfb68813-ea29-4699-82dd-c9644f6b86b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_bbb4582f-23ee-41dc-b4a8-28c296d7e02b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_BusinessAcquisitionLineItems_cfb68813-ea29-4699-82dd-c9644f6b86b7" xlink:to="loc_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities_bbb4582f-23ee-41dc-b4a8-28c296d7e02b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareholdersEquity" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareholdersEquity"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/ShareholdersEquity" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_effcc530-2cec-4025-9037-8301156d4b35" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_726fb57f-1479-4307-9255-d9005c4af99e" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_effcc530-2cec-4025-9037-8301156d4b35" xlink:to="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_726fb57f-1479-4307-9255-d9005c4af99e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareholdersEquityTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareholdersEquityTables"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/ShareholdersEquityTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_23a76188-4d09-4685-9799-e8eaf57bc2b6" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfStockholdersEquityTableTextBlock_e99817e8-e704-4e41-9cdf-32ad435f29f8" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfStockholdersEquityTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_23a76188-4d09-4685-9799-e8eaf57bc2b6" xlink:to="loc_us-gaap_ScheduleOfStockholdersEquityTableTextBlock_e99817e8-e704-4e41-9cdf-32ad435f29f8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareholdersEquitySummaryofActivitiesinCommonStockDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareholdersEquitySummaryofActivitiesinCommonStockDetail"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/ShareholdersEquitySummaryofActivitiesinCommonStockDetail" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_f766ba26-f90e-4444-bc76-b0c7b17fd960" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockValueAcquiredCostMethod_19f4f466-af92-4c55-ade8-e630aefadef0" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_f766ba26-f90e-4444-bc76-b0c7b17fd960" xlink:to="loc_us-gaap_TreasuryStockValueAcquiredCostMethod_19f4f466-af92-4c55-ade8-e630aefadef0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TreasuryStockSharesAcquired_1486ae43-7edb-4955-9dfd-3ec78086e7cc" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TreasuryStockSharesAcquired"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_f766ba26-f90e-4444-bc76-b0c7b17fd960" xlink:to="loc_us-gaap_TreasuryStockSharesAcquired_1486ae43-7edb-4955-9dfd-3ec78086e7cc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_2b9db338-7d77-457e-ae07-6fe6364ecd70" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_f766ba26-f90e-4444-bc76-b0c7b17fd960" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_2b9db338-7d77-457e-ae07-6fe6364ecd70" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_c5243dcf-2a5f-4132-8be6-90aa2c93e8d2" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_f766ba26-f90e-4444-bc76-b0c7b17fd960" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation_c5243dcf-2a5f-4132-8be6-90aa2c93e8d2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_82e42334-01ba-47a3-9453-1aa896722722" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_f766ba26-f90e-4444-bc76-b0c7b17fd960" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_82e42334-01ba-47a3-9453-1aa896722722" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_9dfabf3b-d8e1-487a-a902-fbae81f0e5c1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_f766ba26-f90e-4444-bc76-b0c7b17fd960" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_9dfabf3b-d8e1-487a-a902-fbae81f0e5c1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement_3c2d9f77-82c5-4c52-b04c-b8e5cae55839" xlink:href="tyl-20200331.xsd#tyl_StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_f766ba26-f90e-4444-bc76-b0c7b17fd960" xlink:to="loc_tyl_StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement_3c2d9f77-82c5-4c52-b04c-b8e5cae55839" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement_e58ddefa-7a18-4d2b-8afc-7073f50470bf" xlink:href="tyl-20200331.xsd#tyl_ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_f766ba26-f90e-4444-bc76-b0c7b17fd960" xlink:to="loc_tyl_ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement_e58ddefa-7a18-4d2b-8afc-7073f50470bf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareholdersEquityAdditionalInformationDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareholdersEquityAdditionalInformationDetail"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/ShareholdersEquityAdditionalInformationDetail" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityAbstract_e9ff6bdb-9fba-4d1a-98f2-76599f01677b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_32a8ebfa-3186-449a-bee9-86b787282902" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EquityAbstract_e9ff6bdb-9fba-4d1a-98f2-76599f01677b" xlink:to="loc_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased_32a8ebfa-3186-449a-bee9-86b787282902" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredCommissions" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredCommissions"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/DeferredCommissions" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_bcdf5493-6cbd-4e8d-b6cf-feafefb897ff" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_afed41f0-3d3e-4987-b1d6-33c7bbce2a5e" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_bcdf5493-6cbd-4e8d-b6cf-feafefb897ff" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_afed41f0-3d3e-4987-b1d6-33c7bbce2a5e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredCommissionsDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredCommissionsDetails"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/DeferredCommissionsDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_e1d70f9d-1e8f-40a4-80b8-5ec37666e82c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostTable_43b596a8-a376-49b9-8e99-c225fcec3598" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_e1d70f9d-1e8f-40a4-80b8-5ec37666e82c" xlink:to="loc_us-gaap_CapitalizedContractCostTable_43b596a8-a376-49b9-8e99-c225fcec3598" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_d00b6a8c-786e-43f6-8b06-e1fc5e609ce3" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostTable_43b596a8-a376-49b9-8e99-c225fcec3598" xlink:to="loc_srt_RangeAxis_d00b6a8c-786e-43f6-8b06-e1fc5e609ce3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_85c35324-365f-4a8e-a936-890f2743de28" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_d00b6a8c-786e-43f6-8b06-e1fc5e609ce3" xlink:to="loc_srt_RangeMember_85c35324-365f-4a8e-a936-890f2743de28" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_65524fb8-2f20-4d44-93dc-904ff207df43" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_85c35324-365f-4a8e-a936-890f2743de28" xlink:to="loc_srt_MinimumMember_65524fb8-2f20-4d44-93dc-904ff207df43" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_1eb715f4-754e-4d65-88c3-9e3a261bdec7" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_85c35324-365f-4a8e-a936-890f2743de28" xlink:to="loc_srt_MaximumMember_1eb715f4-754e-4d65-88c3-9e3a261bdec7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostLineItems_e36052ae-0823-4606-9a38-82411cb5b607" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostTable_43b596a8-a376-49b9-8e99-c225fcec3598" xlink:to="loc_us-gaap_CapitalizedContractCostLineItems_e36052ae-0823-4606-9a38-82411cb5b607" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_SalesCommissionsAmortizationPeriod_838668c8-526d-4437-bef5-fbb92b28f460" xlink:href="tyl-20200331.xsd#tyl_SalesCommissionsAmortizationPeriod"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_e36052ae-0823-4606-9a38-82411cb5b607" xlink:to="loc_tyl_SalesCommissionsAmortizationPeriod_838668c8-526d-4437-bef5-fbb92b28f460" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostNet_49fc8e89-55e1-4564-8329-3b122ecdf271" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostNet"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_e36052ae-0823-4606-9a38-82411cb5b607" xlink:to="loc_us-gaap_CapitalizedContractCostNet_49fc8e89-55e1-4564-8329-3b122ecdf271" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostAmortization_5bcbdb4f-d7f2-40e1-a089-ccb050b67ce2" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostAmortization"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_e36052ae-0823-4606-9a38-82411cb5b607" xlink:to="loc_us-gaap_CapitalizedContractCostAmortization_5bcbdb4f-d7f2-40e1-a089-ccb050b67ce2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CapitalizedContractCostImpairmentLoss_51829cfe-3cb0-42ef-94f4-ed379595234a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CapitalizedContractCostImpairmentLoss"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CapitalizedContractCostLineItems_e36052ae-0823-4606-9a38-82411cb5b607" xlink:to="loc_us-gaap_CapitalizedContractCostImpairmentLoss_51829cfe-3cb0-42ef-94f4-ed379595234a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/OtherAssets" xlink:type="simple" xlink:href="tyl-20200331.xsd#OtherAssets"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/OtherAssets" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_7c423568-0b94-4ea4-bebb-6aa6e5ed257a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherAssetsDisclosureTextBlock_333ce415-eb49-4fe2-8f8b-4aec97c9cbf5" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherAssetsDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_7c423568-0b94-4ea4-bebb-6aa6e5ed257a" xlink:to="loc_us-gaap_OtherAssetsDisclosureTextBlock_333ce415-eb49-4fe2-8f8b-4aec97c9cbf5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/OtherAssetsDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#OtherAssetsDetail"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/OtherAssetsDetail" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_ab158d17-7c54-44e0-b721-822192025df1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEquityMethodInvestmentsTable_72d35211-80fe-4418-a81c-c53e35502edb" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract_ab158d17-7c54-44e0-b721-822192025df1" xlink:to="loc_us-gaap_ScheduleOfEquityMethodInvestmentsTable_72d35211-80fe-4418-a81c-c53e35502edb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_6f7dc4b3-7916-402a-8d62-14e7db94a57f" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEquityMethodInvestmentsTable_72d35211-80fe-4418-a81c-c53e35502edb" xlink:to="loc_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_6f7dc4b3-7916-402a-8d62-14e7db94a57f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_EquityMethodInvesteeNameDomain_f525975e-5049-45d0-bb85-cb67f8223fc9" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_EquityMethodInvesteeNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis_6f7dc4b3-7916-402a-8d62-14e7db94a57f" xlink:to="loc_srt_EquityMethodInvesteeNameDomain_f525975e-5049-45d0-bb85-cb67f8223fc9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_RecordHoldingsPtyLimitedMember_4ff43e63-a029-42b1-8712-70d0e5a8b0ef" xlink:href="tyl-20200331.xsd#tyl_RecordHoldingsPtyLimitedMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_EquityMethodInvesteeNameDomain_f525975e-5049-45d0-bb85-cb67f8223fc9" xlink:to="loc_tyl_RecordHoldingsPtyLimitedMember_4ff43e63-a029-42b1-8712-70d0e5a8b0ef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_818059f3-4051-4c02-9e9d-052be5c7443e" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEquityMethodInvestmentsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEquityMethodInvestmentsTable_72d35211-80fe-4418-a81c-c53e35502edb" xlink:to="loc_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_818059f3-4051-4c02-9e9d-052be5c7443e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireHeldToMaturitySecurities_9a79bc7c-ad76-40f7-a719-35486c3c20e2" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireHeldToMaturitySecurities"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_818059f3-4051-4c02-9e9d-052be5c7443e" xlink:to="loc_us-gaap_PaymentsToAcquireHeldToMaturitySecurities_9a79bc7c-ad76-40f7-a719-35486c3c20e2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_InterestReceivable_ffea6ed3-b2af-4f70-bc26-65f24cffa9cd" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_InterestReceivable"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_818059f3-4051-4c02-9e9d-052be5c7443e" xlink:to="loc_us-gaap_InterestReceivable_ffea6ed3-b2af-4f70-bc26-65f24cffa9cd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProceedsFromSaleOfEquityMethodInvestments_bc7268cd-7295-4420-ba72-3754ecdd20de" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProceedsFromSaleOfEquityMethodInvestments"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_818059f3-4051-4c02-9e9d-052be5c7443e" xlink:to="loc_us-gaap_ProceedsFromSaleOfEquityMethodInvestments_bc7268cd-7295-4420-ba72-3754ecdd20de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EquityMethodInvestmentOwnershipPercentage_b9f6e8cb-949d-4965-802c-966c9d7216d1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EquityMethodInvestmentOwnershipPercentage"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_818059f3-4051-4c02-9e9d-052be5c7443e" xlink:to="loc_us-gaap_EquityMethodInvestmentOwnershipPercentage_b9f6e8cb-949d-4965-802c-966c9d7216d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PaymentsToAcquireEquityMethodInvestments_f2a48a43-0559-42e1-868c-6a175154bb39" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PaymentsToAcquireEquityMethodInvestments"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems_818059f3-4051-4c02-9e9d-052be5c7443e" xlink:to="loc_us-gaap_PaymentsToAcquireEquityMethodInvestments_f2a48a43-0559-42e1-868c-6a175154bb39" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/RevolvingLineofCredit" xlink:type="simple" xlink:href="tyl-20200331.xsd#RevolvingLineofCredit"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/RevolvingLineofCredit" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_9412c837-3253-4b53-922d-0907fda6f95a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureTextBlock_8d8dd2a9-a2ef-459b-bae2-e526147a79fc" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_9412c837-3253-4b53-922d-0907fda6f95a" xlink:to="loc_us-gaap_DebtDisclosureTextBlock_8d8dd2a9-a2ef-459b-bae2-e526147a79fc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/RevolvingLineofCreditDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#RevolvingLineofCreditDetail"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/RevolvingLineofCreditDetail" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtDisclosureAbstract_b45a93f6-8dc1-428f-bd8b-aae5c93e8e3e" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityTable_c70ada58-ad70-4065-9450-ad68cce113c7" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtDisclosureAbstract_b45a93f6-8dc1-428f-bd8b-aae5c93e8e3e" xlink:to="loc_us-gaap_LineOfCreditFacilityTable_c70ada58-ad70-4065-9450-ad68cce113c7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityAxis_e51888ed-f1bf-49f6-a6d4-366a15285399" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_c70ada58-ad70-4065-9450-ad68cce113c7" xlink:to="loc_us-gaap_CreditFacilityAxis_e51888ed-f1bf-49f6-a6d4-366a15285399" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CreditFacilityDomain_a2571382-bd75-4983-a03f-425f5e69b9e0" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CreditFacilityDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityAxis_e51888ed-f1bf-49f6-a6d4-366a15285399" xlink:to="loc_us-gaap_CreditFacilityDomain_a2571382-bd75-4983-a03f-425f5e69b9e0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevolvingCreditFacilityMember_4a5b24b5-b9c2-4ffe-8355-4e54916a6a4d" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevolvingCreditFacilityMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CreditFacilityDomain_a2571382-bd75-4983-a03f-425f5e69b9e0" xlink:to="loc_us-gaap_RevolvingCreditFacilityMember_4a5b24b5-b9c2-4ffe-8355-4e54916a6a4d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentAxis_9d846f3a-8200-4138-ad72-c9652526a648" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_c70ada58-ad70-4065-9450-ad68cce113c7" xlink:to="loc_us-gaap_DebtInstrumentAxis_9d846f3a-8200-4138-ad72-c9652526a648" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentNameDomain_7bd40e7a-9afd-4b7f-b13d-66e57e2c75aa" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentAxis_9d846f3a-8200-4138-ad72-c9652526a648" xlink:to="loc_us-gaap_DebtInstrumentNameDomain_7bd40e7a-9afd-4b7f-b13d-66e57e2c75aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CreditAgreementMember_fcbe5a8b-57f7-4473-910d-affe939d8755" xlink:href="tyl-20200331.xsd#tyl_CreditAgreementMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DebtInstrumentNameDomain_7bd40e7a-9afd-4b7f-b13d-66e57e2c75aa" xlink:to="loc_tyl_CreditAgreementMember_fcbe5a8b-57f7-4473-910d-affe939d8755" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermDebtTypeAxis_f262096b-d4be-42b4-8c08-a19e6105c5f0" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermDebtTypeAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_c70ada58-ad70-4065-9450-ad68cce113c7" xlink:to="loc_us-gaap_ShortTermDebtTypeAxis_f262096b-d4be-42b4-8c08-a19e6105c5f0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermDebtTypeDomain_59e2ec27-b30b-4dd6-89b9-b58e628cfa60" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermDebtTypeDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShortTermDebtTypeAxis_f262096b-d4be-42b4-8c08-a19e6105c5f0" xlink:to="loc_us-gaap_ShortTermDebtTypeDomain_59e2ec27-b30b-4dd6-89b9-b58e628cfa60" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LetterOfCreditMember_331a26d6-c743-4ca0-9cea-8197913ca3ff" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LetterOfCreditMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ShortTermDebtTypeDomain_59e2ec27-b30b-4dd6-89b9-b58e628cfa60" xlink:to="loc_us-gaap_LetterOfCreditMember_331a26d6-c743-4ca0-9cea-8197913ca3ff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_59f063da-6b6a-47f8-b1c7-b450b2ad5b96" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_c70ada58-ad70-4065-9450-ad68cce113c7" xlink:to="loc_srt_RangeAxis_59f063da-6b6a-47f8-b1c7-b450b2ad5b96" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_66e3de44-a24a-4c7c-9667-964ae33b3bad" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_59f063da-6b6a-47f8-b1c7-b450b2ad5b96" xlink:to="loc_srt_RangeMember_66e3de44-a24a-4c7c-9667-964ae33b3bad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_d28f5b89-8fad-40cb-a706-4519b11aa1da" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_66e3de44-a24a-4c7c-9667-964ae33b3bad" xlink:to="loc_srt_MinimumMember_d28f5b89-8fad-40cb-a706-4519b11aa1da" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_76fc3800-c757-40f7-b3f1-f79a2ef9abf1" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_66e3de44-a24a-4c7c-9667-964ae33b3bad" xlink:to="loc_srt_MaximumMember_76fc3800-c757-40f7-b3f1-f79a2ef9abf1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateAxis_343fdfd8-810b-40a6-a9c4-7be201bbce56" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateAxis"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_c70ada58-ad70-4065-9450-ad68cce113c7" xlink:to="loc_us-gaap_VariableRateAxis_343fdfd8-810b-40a6-a9c4-7be201bbce56" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableRateDomain_5b89c3f5-c249-4a5e-9645-fa5872628fad" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableRateDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateAxis_343fdfd8-810b-40a6-a9c4-7be201bbce56" xlink:to="loc_us-gaap_VariableRateDomain_5b89c3f5-c249-4a5e-9645-fa5872628fad" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_PrimeRateMember_b58ea10b-20f2-428e-9ad4-ca0d1c9e8df4" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_PrimeRateMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_5b89c3f5-c249-4a5e-9645-fa5872628fad" xlink:to="loc_us-gaap_PrimeRateMember_b58ea10b-20f2-428e-9ad4-ca0d1c9e8df4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_5d77b59d-5c3f-49af-817a-e6e906c52b93" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LondonInterbankOfferedRateLIBORMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_VariableRateDomain_5b89c3f5-c249-4a5e-9645-fa5872628fad" xlink:to="loc_us-gaap_LondonInterbankOfferedRateLIBORMember_5d77b59d-5c3f-49af-817a-e6e906c52b93" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityLineItems_b4b618a0-d2ad-4b3d-979b-686620df3a1b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityLineItems"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityTable_c70ada58-ad70-4065-9450-ad68cce113c7" xlink:to="loc_us-gaap_LineOfCreditFacilityLineItems_b4b618a0-d2ad-4b3d-979b-686620df3a1b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_5f08cf19-1a33-482d-bd02-3dabc439c867" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_b4b618a0-d2ad-4b3d-979b-686620df3a1b" xlink:to="loc_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_5f08cf19-1a33-482d-bd02-3dabc439c867" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_0654f08b-b954-412a-a955-b681e44176fa" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_b4b618a0-d2ad-4b3d-979b-686620df3a1b" xlink:to="loc_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_0654f08b-b954-412a-a955-b681e44176fa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage_e5c60c77-e10d-40a6-8371-e9cc71e12698" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DebtInstrumentInterestRateEffectivePercentage"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_b4b618a0-d2ad-4b3d-979b-686620df3a1b" xlink:to="loc_us-gaap_DebtInstrumentInterestRateEffectivePercentage_e5c60c77-e10d-40a6-8371-e9cc71e12698" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LongTermLineOfCredit_e17af909-2f5d-4a86-9e29-fd8b349d5a79" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LongTermLineOfCredit"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_b4b618a0-d2ad-4b3d-979b-686620df3a1b" xlink:to="loc_us-gaap_LongTermLineOfCredit_e17af909-2f5d-4a86-9e29-fd8b349d5a79" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_52b627c5-3a41-4040-9038-acc6dffce3df" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LineOfCreditFacilityLineItems_b4b618a0-d2ad-4b3d-979b-686620df3a1b" xlink:to="loc_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_52b627c5-3a41-4040-9038-acc6dffce3df" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/IncomeTaxProvision" xlink:type="simple" xlink:href="tyl-20200331.xsd#IncomeTaxProvision"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/IncomeTaxProvision" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_604f933f-cb96-4a8c-a442-f939f7f232d2" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_e6560ea4-9949-4a7d-9987-ee121c71400b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_604f933f-cb96-4a8c-a442-f939f7f232d2" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_e6560ea4-9949-4a7d-9987-ee121c71400b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/IncomeTaxProvisionDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#IncomeTaxProvisionDetail"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/IncomeTaxProvisionDetail" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_f811a1a6-12b4-447c-8623-98cda293266d" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_27bea671-b5c4-4a77-a84a-bcc49c37f387" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_f811a1a6-12b4-447c-8623-98cda293266d" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_27bea671-b5c4-4a77-a84a-bcc49c37f387" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_90ef7c2b-672c-428f-92ff-337a12373228" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_f811a1a6-12b4-447c-8623-98cda293266d" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount_90ef7c2b-672c-428f-92ff-337a12373228" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_ebaa46fd-a92c-41a0-8faa-b909e61a804f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_f811a1a6-12b4-447c-8623-98cda293266d" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_ebaa46fd-a92c-41a0-8faa-b909e61a804f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeTaxesPaid_ca47f7c8-db3c-4093-8123-ac675bdb7690" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeTaxesPaid"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_f811a1a6-12b4-447c-8623-98cda293266d" xlink:to="loc_us-gaap_IncomeTaxesPaid_ca47f7c8-db3c-4093-8123-ac675bdb7690" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/EarningsPerShare" xlink:type="simple" xlink:href="tyl-20200331.xsd#EarningsPerShare"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/EarningsPerShare" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_0a5d7255-7952-4bba-a0b7-a00976202956" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareTextBlock_716bb1dc-2ad7-41b0-b704-3adbb21d753d" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_0a5d7255-7952-4bba-a0b7-a00976202956" xlink:to="loc_us-gaap_EarningsPerShareTextBlock_716bb1dc-2ad7-41b0-b704-3adbb21d753d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/EarningsPerShareTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#EarningsPerShareTables"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/EarningsPerShareTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_5942756b-329e-4768-a19e-9fd9f1f19656" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_73e2f93b-c585-4db6-8c17-8aef9ac098a4" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_5942756b-329e-4768-a19e-9fd9f1f19656" xlink:to="loc_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_73e2f93b-c585-4db6-8c17-8aef9ac098a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_158a7f7e-2055-42a1-8520-8cb4cfbbfdc6" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_NumeratorofBasicandDilutedEarningsPerShareAbstract_c7659acb-a690-44ff-9536-08fe629841e9" xlink:href="tyl-20200331.xsd#tyl_NumeratorofBasicandDilutedEarningsPerShareAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_158a7f7e-2055-42a1-8520-8cb4cfbbfdc6" xlink:to="loc_tyl_NumeratorofBasicandDilutedEarningsPerShareAbstract_c7659acb-a690-44ff-9536-08fe629841e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NetIncomeLoss_53773f34-f321-4e90-8f0f-c6fec981b779" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NetIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_tyl_NumeratorofBasicandDilutedEarningsPerShareAbstract_c7659acb-a690-44ff-9536-08fe629841e9" xlink:to="loc_us-gaap_NetIncomeLoss_53773f34-f321-4e90-8f0f-c6fec981b779" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_DenominatorAbstract_b4353fa5-05a5-4dd3-a6a2-f9c1ff8d83b5" xlink:href="tyl-20200331.xsd#tyl_DenominatorAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_158a7f7e-2055-42a1-8520-8cb4cfbbfdc6" xlink:to="loc_tyl_DenominatorAbstract_b4353fa5-05a5-4dd3-a6a2-f9c1ff8d83b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_3f709b81-0278-45cf-be26-ccd908b09b06" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_tyl_DenominatorAbstract_b4353fa5-05a5-4dd3-a6a2-f9c1ff8d83b5" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_3f709b81-0278-45cf-be26-ccd908b09b06" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AssumedConversionofDilutiveSecuritiesAbstract_fa186aca-66e6-4be8-a623-3d936c69e293" xlink:href="tyl-20200331.xsd#tyl_AssumedConversionofDilutiveSecuritiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_tyl_DenominatorAbstract_b4353fa5-05a5-4dd3-a6a2-f9c1ff8d83b5" xlink:to="loc_tyl_AssumedConversionofDilutiveSecuritiesAbstract_fa186aca-66e6-4be8-a623-3d936c69e293" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_abb51d22-f457-4e48-9a12-19e7f6f5b10f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_tyl_AssumedConversionofDilutiveSecuritiesAbstract_fa186aca-66e6-4be8-a623-3d936c69e293" xlink:to="loc_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements_abb51d22-f457-4e48-9a12-19e7f6f5b10f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_be4758ce-0964-401b-86a2-165228bf15ee" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_tyl_DenominatorAbstract_b4353fa5-05a5-4dd3-a6a2-f9c1ff8d83b5" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_be4758ce-0964-401b-86a2-165228bf15ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_b66664a5-10f5-4326-874a-22aa945c4af9" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasicAndDilutedAbstract"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_158a7f7e-2055-42a1-8520-8cb4cfbbfdc6" xlink:to="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_b66664a5-10f5-4326-874a-22aa945c4af9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareBasic_8205b171-d60a-4892-84e3-02338add852c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareBasic"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_b66664a5-10f5-4326-874a-22aa945c4af9" xlink:to="loc_us-gaap_EarningsPerShareBasic_8205b171-d60a-4892-84e3-02338add852c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareDiluted_745a7830-6db6-4319-a5da-529874cddb17" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareDiluted"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareBasicAndDilutedAbstract_b66664a5-10f5-4326-874a-22aa945c4af9" xlink:to="loc_us-gaap_EarningsPerShareDiluted_745a7830-6db6-4319-a5da-529874cddb17" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/EarningsPerShareAdditionalInformationDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#EarningsPerShareAdditionalInformationDetail"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/EarningsPerShareAdditionalInformationDetail" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EarningsPerShareAbstract_84f82541-47d5-4e3f-ae56-3c1aed8ce259" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EarningsPerShareAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_46d4ebc5-c954-4db2-9344-3c256a76f2de" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EarningsPerShareAbstract_84f82541-47d5-4e3f-ae56-3c1aed8ce259" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_46d4ebc5-c954-4db2-9344-3c256a76f2de" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/Leases" xlink:type="simple" xlink:href="tyl-20200331.xsd#Leases"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/Leases" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_cd358843-b7e4-4e5c-bbae-fadc856db997" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeasesTextBlock_86902fc6-ad15-4d25-879a-bc7754c13374" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeasesTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_cd358843-b7e4-4e5c-bbae-fadc856db997" xlink:to="loc_us-gaap_LesseeOperatingLeasesTextBlock_86902fc6-ad15-4d25-879a-bc7754c13374" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasesOfLessorDisclosureTextBlock_4ac11204-87e9-4981-bd84-edd693861f49" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasesOfLessorDisclosureTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_cd358843-b7e4-4e5c-bbae-fadc856db997" xlink:to="loc_us-gaap_OperatingLeasesOfLessorDisclosureTextBlock_4ac11204-87e9-4981-bd84-edd693861f49" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesTables"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/LeasesTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_4fc10747-1c2d-47f3-835f-22a5578765e0" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCostTableTextBlock_1ccda044-fd3e-42ed-a118-f53298607597" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCostTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_4fc10747-1c2d-47f3-835f-22a5578765e0" xlink:to="loc_us-gaap_LeaseCostTableTextBlock_1ccda044-fd3e-42ed-a118-f53298607597" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock_5b3db410-d36c-41ac-a0fc-189d596b13cb" xlink:href="tyl-20200331.xsd#tyl_ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_4fc10747-1c2d-47f3-835f-22a5578765e0" xlink:to="loc_tyl_ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock_5b3db410-d36c-41ac-a0fc-189d596b13cb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock_1efe11a9-32ed-4a95-a848-8252335f59fe" xlink:href="tyl-20200331.xsd#tyl_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_4fc10747-1c2d-47f3-835f-22a5578765e0" xlink:to="loc_tyl_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock_1efe11a9-32ed-4a95-a848-8252335f59fe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_d506e094-0f1c-4910-9e43-9ae2e948d10c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_4fc10747-1c2d-47f3-835f-22a5578765e0" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_d506e094-0f1c-4910-9e43-9ae2e948d10c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLeaseIncomeTableTextBlock_a7e5914d-4e08-47a6-be3e-7768ee1aeb2e" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLeaseIncomeTableTextBlock"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_4fc10747-1c2d-47f3-835f-22a5578765e0" xlink:to="loc_us-gaap_OperatingLeaseLeaseIncomeTableTextBlock_a7e5914d-4e08-47a6-be3e-7768ee1aeb2e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesAdditionalInformationDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesAdditionalInformationDetails"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/LeasesAdditionalInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_78a9420d-60d2-453f-a78b-27987d78de9a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionTable_2684353f-c4ee-4e9e-b39a-621fc92855b8" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeLeaseDescriptionTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_78a9420d-60d2-453f-a78b-27987d78de9a" xlink:to="loc_us-gaap_LesseeLeaseDescriptionTable_2684353f-c4ee-4e9e-b39a-621fc92855b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_7655dbd3-61e8-436c-8a56-c09242430b00" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_2684353f-c4ee-4e9e-b39a-621fc92855b8" xlink:to="loc_srt_RangeAxis_7655dbd3-61e8-436c-8a56-c09242430b00" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_af7c9dae-c6d7-47c7-9044-ac17a769d4d1" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_7655dbd3-61e8-436c-8a56-c09242430b00" xlink:to="loc_srt_RangeMember_af7c9dae-c6d7-47c7-9044-ac17a769d4d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_1a0210db-24a4-4d41-9a5a-e9c143af7b8a" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_af7c9dae-c6d7-47c7-9044-ac17a769d4d1" xlink:to="loc_srt_MinimumMember_1a0210db-24a4-4d41-9a5a-e9c143af7b8a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_9e2673d5-09df-474b-a764-fd27220c21b4" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_af7c9dae-c6d7-47c7-9044-ac17a769d4d1" xlink:to="loc_srt_MaximumMember_9e2673d5-09df-474b-a764-fd27220c21b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeLeaseDescriptionLineItems_080ebf66-1ef0-437f-84bf-cff72c5e5d1d" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeLeaseDescriptionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionTable_2684353f-c4ee-4e9e-b39a-621fc92855b8" xlink:to="loc_us-gaap_LesseeLeaseDescriptionLineItems_080ebf66-1ef0-437f-84bf-cff72c5e5d1d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseTermOfContract_7cb11363-0e03-4b3f-be77-7ea425c50d0a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseTermOfContract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_080ebf66-1ef0-437f-84bf-cff72c5e5d1d" xlink:to="loc_us-gaap_LesseeOperatingLeaseTermOfContract_7cb11363-0e03-4b3f-be77-7ea425c50d0a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseRenewalTerm_0d0ccff6-f15f-4d36-b89f-0b187a510321" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseRenewalTerm"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_080ebf66-1ef0-437f-84bf-cff72c5e5d1d" xlink:to="loc_us-gaap_LesseeOperatingLeaseRenewalTerm_0d0ccff6-f15f-4d36-b89f-0b187a510321" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost_17999512-bfa6-4ae0-9b83-7585a4dbe75a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCost"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_080ebf66-1ef0-437f-84bf-cff72c5e5d1d" xlink:to="loc_us-gaap_LeaseCost_17999512-bfa6-4ae0-9b83-7585a4dbe75a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeaseRenewalTerm_8c63cf62-b43a-4a9e-b942-65fbbe316903" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeaseRenewalTerm"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_080ebf66-1ef0-437f-84bf-cff72c5e5d1d" xlink:to="loc_us-gaap_LessorOperatingLeaseRenewalTerm_8c63cf62-b43a-4a9e-b942-65fbbe316903" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RentalIncomeNonoperating_e7691fdc-fce7-4aff-ae1c-b2ba57b6ed2b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RentalIncomeNonoperating"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LesseeLeaseDescriptionLineItems_080ebf66-1ef0-437f-84bf-cff72c5e5d1d" xlink:to="loc_us-gaap_RentalIncomeNonoperating_e7691fdc-fce7-4aff-ae1c-b2ba57b6ed2b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesScheduleofleasecostDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesScheduleofleasecostDetails"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/LeasesScheduleofleasecostDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_0cb79722-8b32-45b8-9686-4cd0d63a7ceb" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseCost_6bfcd598-8991-4211-8a0e-3408999fa27a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseCost"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_0cb79722-8b32-45b8-9686-4cd0d63a7ceb" xlink:to="loc_us-gaap_OperatingLeaseCost_6bfcd598-8991-4211-8a0e-3408999fa27a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ShortTermLeaseCost_249f69d7-a09f-4293-b48c-ca471a1a6be0" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ShortTermLeaseCost"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_0cb79722-8b32-45b8-9686-4cd0d63a7ceb" xlink:to="loc_us-gaap_ShortTermLeaseCost_249f69d7-a09f-4293-b48c-ca471a1a6be0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_VariableLeaseCost_40645010-6926-4b43-bbde-d0e81189a1b2" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_VariableLeaseCost"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_0cb79722-8b32-45b8-9686-4cd0d63a7ceb" xlink:to="loc_us-gaap_VariableLeaseCost_40645010-6926-4b43-bbde-d0e81189a1b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeaseCost_ebed9b49-0b94-4192-896e-fcc7c44a3ae0" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeaseCost"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_0cb79722-8b32-45b8-9686-4cd0d63a7ceb" xlink:to="loc_us-gaap_LeaseCost_ebed9b49-0b94-4192-896e-fcc7c44a3ae0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesScheduleofleasesassetsandliabilitiesDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesScheduleofleasesassetsandliabilitiesDetails"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/LeasesScheduleofleasesassetsandliabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_791fce57-4f58-48f1-8f11-47533f100110" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AssetsAbstract_116d537d-3ba2-4d83-8fce-f2c181a966c5" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AssetsAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_791fce57-4f58-48f1-8f11-47533f100110" xlink:to="loc_us-gaap_AssetsAbstract_116d537d-3ba2-4d83-8fce-f2c181a966c5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseRightOfUseAsset_84635a71-1636-48b7-b168-baf1810eca69" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseRightOfUseAsset"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_AssetsAbstract_116d537d-3ba2-4d83-8fce-f2c181a966c5" xlink:to="loc_us-gaap_OperatingLeaseRightOfUseAsset_84635a71-1636-48b7-b168-baf1810eca69" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LiabilitiesAbstract_3fe428f2-79ea-4566-8a41-59f361d6ee9c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LiabilitiesAbstract"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_791fce57-4f58-48f1-8f11-47533f100110" xlink:to="loc_us-gaap_LiabilitiesAbstract_3fe428f2-79ea-4566-8a41-59f361d6ee9c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityCurrent_6bb354ee-c08e-401b-bb9f-e1b173e39633" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityCurrent"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAbstract_3fe428f2-79ea-4566-8a41-59f361d6ee9c" xlink:to="loc_us-gaap_OperatingLeaseLiabilityCurrent_6bb354ee-c08e-401b-bb9f-e1b173e39633" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_83314057-7dbf-4bb3-8c91-e0c83a3298c8" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAbstract_3fe428f2-79ea-4566-8a41-59f361d6ee9c" xlink:to="loc_us-gaap_OperatingLeaseLiabilityNoncurrent_83314057-7dbf-4bb3-8c91-e0c83a3298c8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_cb751991-b09c-45f7-999f-c42377a1d650" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesAbstract_3fe428f2-79ea-4566-8a41-59f361d6ee9c" xlink:to="loc_us-gaap_OperatingLeaseLiability_cb751991-b09c-45f7-999f-c42377a1d650" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesScheduleofotherinformationrelatedtoleasesDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesScheduleofotherinformationrelatedtoleasesDetails"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/LeasesScheduleofotherinformationrelatedtoleasesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_7e15763a-b412-4440-bcd0-d433593e041a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeasePayments_b03c310d-163e-402c-85ad-8c8849aab867" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeasePayments"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_7e15763a-b412-4440-bcd0-d433593e041a" xlink:to="loc_us-gaap_OperatingLeasePayments_b03c310d-163e-402c-85ad-8c8849aab867" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_8919abb7-060a-45f4-8c2b-62f9e0b1a1ea" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_7e15763a-b412-4440-bcd0-d433593e041a" xlink:to="loc_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_8919abb7-060a-45f4-8c2b-62f9e0b1a1ea" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_4e463451-99e9-4454-8201-08219c8e12c0" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_7e15763a-b412-4440-bcd0-d433593e041a" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_4e463451-99e9-4454-8201-08219c8e12c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_f386626d-cc65-45a4-9123-8f5d9011df23" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_7e15763a-b412-4440-bcd0-d433593e041a" xlink:to="loc_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_f386626d-cc65-45a4-9123-8f5d9011df23" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesMaturityofleaseliabilitiesDetails"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_1c398985-b0e7-4e64-84aa-6917df48b2cb" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_28b4e52d-1016-4aa4-9df1-8544b871b5b2" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_1c398985-b0e7-4e64-84aa-6917df48b2cb" xlink:to="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_28b4e52d-1016-4aa4-9df1-8544b871b5b2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_a570f979-4ff2-4927-b824-f0e141acc9b1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_28b4e52d-1016-4aa4-9df1-8544b871b5b2" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_a570f979-4ff2-4927-b824-f0e141acc9b1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_83dca958-6131-4a07-8b57-14bfc271001f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_28b4e52d-1016-4aa4-9df1-8544b871b5b2" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_83dca958-6131-4a07-8b57-14bfc271001f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_2dfb64fd-2a54-45cc-9ec0-163917380d4e" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_28b4e52d-1016-4aa4-9df1-8544b871b5b2" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree_2dfb64fd-2a54-45cc-9ec0-163917380d4e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_51d2a025-3ea8-443c-8a06-1831b6237bfb" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_28b4e52d-1016-4aa4-9df1-8544b871b5b2" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour_51d2a025-3ea8-443c-8a06-1831b6237bfb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_bd6f35c3-8d36-4f83-9915-f1a33662472a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_28b4e52d-1016-4aa4-9df1-8544b871b5b2" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive_bd6f35c3-8d36-4f83-9915-f1a33662472a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_187f3280-0483-47c9-955b-c7aa023db465" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_28b4e52d-1016-4aa4-9df1-8544b871b5b2" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive_187f3280-0483-47c9-955b-c7aa023db465" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_329732db-3530-41f8-b9b6-ee2e65b94675" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_28b4e52d-1016-4aa4-9df1-8544b871b5b2" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_329732db-3530-41f8-b9b6-ee2e65b94675" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_f2faec25-5bd2-4dfc-a20c-e68c9bbfd122" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
    <link:presentationArc order="8" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_28b4e52d-1016-4aa4-9df1-8544b871b5b2" xlink:to="loc_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_f2faec25-5bd2-4dfc-a20c-e68c9bbfd122" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingLeaseLiability_a5076dea-a90d-41f4-8e2c-948013dec03b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingLeaseLiability"/>
    <link:presentationArc order="9" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_28b4e52d-1016-4aa4-9df1-8544b871b5b2" xlink:to="loc_us-gaap_OperatingLeaseLiability_a5076dea-a90d-41f4-8e2c-948013dec03b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails_1" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesMaturityofleaseliabilitiesDetails_1"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#LeasesScheduleoffutureminimumoperatingrentalincomeDetails"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LeasesAbstract_724a2051-1fcd-4d43-a110-ff17eaff9bd0" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LeasesAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths_ddd29501-6a68-48d6-9ea6-b8d86fd90792" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_724a2051-1fcd-4d43-a110-ff17eaff9bd0" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths_ddd29501-6a68-48d6-9ea6-b8d86fd90792" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears_11f54e94-72c8-41b3-a7ca-f76085cf8858" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_724a2051-1fcd-4d43-a110-ff17eaff9bd0" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears_11f54e94-72c8-41b3-a7ca-f76085cf8858" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears_94193d17-b013-4bc7-995a-a0cecc1d6fec" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_724a2051-1fcd-4d43-a110-ff17eaff9bd0" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears_94193d17-b013-4bc7-995a-a0cecc1d6fec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears_72e1efdc-e152-4f46-abde-8ebde4edbefd" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_724a2051-1fcd-4d43-a110-ff17eaff9bd0" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears_72e1efdc-e152-4f46-abde-8ebde4edbefd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFiveYears_8f68c97a-8e76-4c89-9c7f-b95a54b16186" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedFiveYears"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_724a2051-1fcd-4d43-a110-ff17eaff9bd0" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFiveYears_8f68c97a-8e76-4c89-9c7f-b95a54b16186" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThereafter_213c1cab-f11e-4fee-bf5c-ce1b65df0e82" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceivedThereafter"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_724a2051-1fcd-4d43-a110-ff17eaff9bd0" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThereafter_213c1cab-f11e-4fee-bf5c-ce1b65df0e82" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived_8b06afc3-ac4a-4c84-8250-d620e3573c13" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LessorOperatingLeasePaymentsToBeReceived"/>
    <link:presentationArc order="7" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LeasesAbstract_724a2051-1fcd-4d43-a110-ff17eaff9bd0" xlink:to="loc_us-gaap_LessorOperatingLeasePaymentsToBeReceived_8b06afc3-ac4a-4c84-8250-d620e3573c13" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareBasedCompensation" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareBasedCompensation"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/ShareBasedCompensation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_184c5fd6-cb8f-48e9-8312-1af9b6a0d350" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_e8ce5043-efea-4ab4-9db4-2ec3c2f3b7e5" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_184c5fd6-cb8f-48e9-8312-1af9b6a0d350" xlink:to="loc_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_e8ce5043-efea-4ab4-9db4-2ec3c2f3b7e5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareBasedCompensationTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareBasedCompensationTables"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/ShareBasedCompensationTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_5fe84860-8de2-4a35-ba5a-fccaa8abd4ab" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_2e66b3dd-dac8-4f23-9432-7be7ff06955d" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_5fe84860-8de2-4a35-ba5a-fccaa8abd4ab" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_2e66b3dd-dac8-4f23-9432-7be7ff06955d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/ShareBasedCompensationDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#ShareBasedCompensationDetail"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/ShareBasedCompensationDetail" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_ce96d926-d066-49df-81c7-da6947f8212c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_664d6654-e91d-42f5-ab35-63121b72e9ee" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_ce96d926-d066-49df-81c7-da6947f8212c" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_664d6654-e91d-42f5-ab35-63121b72e9ee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_4fc20ce0-3ce5-4011-a1a2-2ef2131fb11e" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_664d6654-e91d-42f5-ab35-63121b72e9ee" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_4fc20ce0-3ce5-4011-a1a2-2ef2131fb11e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_f42fac43-d981-49d3-8c50-dc31d35af287" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeStatementLocationDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_4fc20ce0-3ce5-4011-a1a2-2ef2131fb11e" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_f42fac43-d981-49d3-8c50-dc31d35af287" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember_cb407343-edf3-414a-b6b6-4fed27938830" xlink:href="tyl-20200331.xsd#tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_f42fac43-d981-49d3-8c50-dc31d35af287" xlink:to="loc_tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember_cb407343-edf3-414a-b6b6-4fed27938830" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_be849b87-753b-4c70-bfaa-75212381a719" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpensesMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_f42fac43-d981-49d3-8c50-dc31d35af287" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpensesMember_be849b87-753b-4c70-bfaa-75212381a719" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_587f17a1-4623-47b4-aaed-ad7ef0749efc" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_664d6654-e91d-42f5-ab35-63121b72e9ee" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_587f17a1-4623-47b4-aaed-ad7ef0749efc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_f6748cae-4003-4914-a64c-91079bd9a911" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_587f17a1-4623-47b4-aaed-ad7ef0749efc" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_f6748cae-4003-4914-a64c-91079bd9a911" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/SegmentandRelatedInformation" xlink:type="simple" xlink:href="tyl-20200331.xsd#SegmentandRelatedInformation"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/SegmentandRelatedInformation" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_8d6d455c-2e70-498d-8892-12d043aa1f25" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingDisclosureTextBlock_f85e9e7f-068e-4e2f-8afd-0afeeb7f8223" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_8d6d455c-2e70-498d-8892-12d043aa1f25" xlink:to="loc_us-gaap_SegmentReportingDisclosureTextBlock_f85e9e7f-068e-4e2f-8afd-0afeeb7f8223" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/SegmentandRelatedInformationTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#SegmentandRelatedInformationTables"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/SegmentandRelatedInformationTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_8492263e-3ad5-4b5e-adc9-8acb5e73d1b3" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_50a57552-4d4d-4f74-a8a5-1c0bfd4bc0b3" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_8492263e-3ad5-4b5e-adc9-8acb5e73d1b3" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock_50a57552-4d4d-4f74-a8a5-1c0bfd4bc0b3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock_a0876eb4-ed9e-47be-88cc-166e94baa2c0" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_8492263e-3ad5-4b5e-adc9-8acb5e73d1b3" xlink:to="loc_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock_a0876eb4-ed9e-47be-88cc-166e94baa2c0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/SegmentandRelatedInformationAdditionalInformationDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#SegmentandRelatedInformationAdditionalInformationDetail"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/SegmentandRelatedInformationAdditionalInformationDetail" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_719653ea-2f99-4065-b7dd-1a6499aecdd2" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_7ee8c624-1fdf-4166-96c2-7f7ffa9e74b8" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_719653ea-2f99-4065-b7dd-1a6499aecdd2" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_7ee8c624-1fdf-4166-96c2-7f7ffa9e74b8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_9b946b95-d2c4-4f08-9d3a-c8c6432b9958" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_7ee8c624-1fdf-4166-96c2-7f7ffa9e74b8" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_9b946b95-d2c4-4f08-9d3a-c8c6432b9958" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_bded4245-2474-426d-a31f-a6fc38da0a37" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_9b946b95-d2c4-4f08-9d3a-c8c6432b9958" xlink:to="loc_us-gaap_SegmentDomain_bded4245-2474-426d-a31f-a6fc38da0a37" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_EnterpriseSoftwareMember_4282dd80-4a14-467c-b86d-2d1fe1618413" xlink:href="tyl-20200331.xsd#tyl_EnterpriseSoftwareMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_bded4245-2474-426d-a31f-a6fc38da0a37" xlink:to="loc_tyl_EnterpriseSoftwareMember_4282dd80-4a14-467c-b86d-2d1fe1618413" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_a6efa17c-d275-4612-a980-efb33a5ee0db" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_7ee8c624-1fdf-4166-96c2-7f7ffa9e74b8" xlink:to="loc_us-gaap_SegmentReportingInformationLineItems_a6efa17c-d275-4612-a980-efb33a5ee0db" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_NumberOfBusinessUnits_46291916-f8b6-4112-8014-247791169044" xlink:href="tyl-20200331.xsd#tyl_NumberOfBusinessUnits"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_a6efa17c-d275-4612-a980-efb33a5ee0db" xlink:to="loc_tyl_NumberOfBusinessUnits_46291916-f8b6-4112-8014-247791169044" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_NumberOfReportableSegments_56bec3ce-65e9-4863-b4a9-fd9a8e103d26" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_NumberOfReportableSegments"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_a6efa17c-d275-4612-a980-efb33a5ee0db" xlink:to="loc_us-gaap_NumberOfReportableSegments_56bec3ce-65e9-4863-b4a9-fd9a8e103d26" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_e69268f5-711a-46a4-998d-d65a81cd1723" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_efa700a2-81a3-4976-a227-739eff23cb68" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_e69268f5-711a-46a4-998d-d65a81cd1723" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_efa700a2-81a3-4976-a227-739eff23cb68" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_bc6610d9-c21d-4f78-9cb7-362b3bc4232b" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_efa700a2-81a3-4976-a227-739eff23cb68" xlink:to="loc_srt_ProductOrServiceAxis_bc6610d9-c21d-4f78-9cb7-362b3bc4232b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_de181d28-54da-46de-9a89-621ea8b62b3d" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_bc6610d9-c21d-4f78-9cb7-362b3bc4232b" xlink:to="loc_srt_ProductsAndServicesDomain_de181d28-54da-46de-9a89-621ea8b62b3d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LicenseMember_1deb444b-1bfd-4007-a56c-7e9ca97ad335" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LicenseMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_de181d28-54da-46de-9a89-621ea8b62b3d" xlink:to="loc_us-gaap_LicenseMember_1deb444b-1bfd-4007-a56c-7e9ca97ad335" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubscriptionAndCirculationMember_81ff175f-63ee-44c4-bf65-512b24f13af5" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubscriptionAndCirculationMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_de181d28-54da-46de-9a89-621ea8b62b3d" xlink:to="loc_us-gaap_SubscriptionAndCirculationMember_81ff175f-63ee-44c4-bf65-512b24f13af5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TechnologyServiceMember_f7519480-b2cd-46c1-ba97-225360546803" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TechnologyServiceMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_de181d28-54da-46de-9a89-621ea8b62b3d" xlink:to="loc_us-gaap_TechnologyServiceMember_f7519480-b2cd-46c1-ba97-225360546803" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MaintenanceMember_c30b3162-3844-4699-8b5d-4ab947b6b9f4" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MaintenanceMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_de181d28-54da-46de-9a89-621ea8b62b3d" xlink:to="loc_us-gaap_MaintenanceMember_c30b3162-3844-4699-8b5d-4ab947b6b9f4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AppraisalServicesMember_34a5b161-ff46-4e8e-b226-676d37445e51" xlink:href="tyl-20200331.xsd#tyl_AppraisalServicesMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_de181d28-54da-46de-9a89-621ea8b62b3d" xlink:to="loc_tyl_AppraisalServicesMember_34a5b161-ff46-4e8e-b226-676d37445e51" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductMember_17f337fd-294c-43f3-b9b8-0974cdc45e6b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_de181d28-54da-46de-9a89-621ea8b62b3d" xlink:to="loc_us-gaap_ProductMember_17f337fd-294c-43f3-b9b8-0974cdc45e6b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_07afe044-a11e-4d6d-97de-597dcca4b209" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_efa700a2-81a3-4976-a227-739eff23cb68" xlink:to="loc_srt_ConsolidationItemsAxis_07afe044-a11e-4d6d-97de-597dcca4b209" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_ed0dd89c-e0ca-4bfe-9aa7-6bbfa6cb952b" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsAxis_07afe044-a11e-4d6d-97de-597dcca4b209" xlink:to="loc_srt_ConsolidationItemsDomain_ed0dd89c-e0ca-4bfe-9aa7-6bbfa6cb952b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_e33d0d4f-0692-47ed-8c9c-7c97a5b44cfe" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_ed0dd89c-e0ca-4bfe-9aa7-6bbfa6cb952b" xlink:to="loc_us-gaap_OperatingSegmentsMember_e33d0d4f-0692-47ed-8c9c-7c97a5b44cfe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntersegmentEliminationMember_09b9f74a-203b-4243-8c4b-b7c80a857f4d" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntersegmentEliminationMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_ed0dd89c-e0ca-4bfe-9aa7-6bbfa6cb952b" xlink:to="loc_us-gaap_IntersegmentEliminationMember_09b9f74a-203b-4243-8c4b-b7c80a857f4d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_d936ca86-b692-4a4c-b7ce-69aaf08301a7" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_ed0dd89c-e0ca-4bfe-9aa7-6bbfa6cb952b" xlink:to="loc_us-gaap_CorporateNonSegmentMember_d936ca86-b692-4a4c-b7ce-69aaf08301a7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_OperatingSegmentsAndCorporateNonSegmentMember_d4a5a1e1-d673-47da-b882-7b0b29b36bb5" xlink:href="tyl-20200331.xsd#tyl_OperatingSegmentsAndCorporateNonSegmentMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_ed0dd89c-e0ca-4bfe-9aa7-6bbfa6cb952b" xlink:to="loc_tyl_OperatingSegmentsAndCorporateNonSegmentMember_d4a5a1e1-d673-47da-b882-7b0b29b36bb5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_2bc589e8-0391-4374-9322-6634ed924bef" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_efa700a2-81a3-4976-a227-739eff23cb68" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_2bc589e8-0391-4374-9322-6634ed924bef" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_16ed901d-ce49-4e39-93f5-f421c9467b40" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_2bc589e8-0391-4374-9322-6634ed924bef" xlink:to="loc_us-gaap_SegmentDomain_16ed901d-ce49-4e39-93f5-f421c9467b40" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_EnterpriseSoftwareMember_a273fbba-e79c-4f91-bc7b-eda392d452ec" xlink:href="tyl-20200331.xsd#tyl_EnterpriseSoftwareMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_16ed901d-ce49-4e39-93f5-f421c9467b40" xlink:to="loc_tyl_EnterpriseSoftwareMember_a273fbba-e79c-4f91-bc7b-eda392d452ec" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AppraisalAndTaxMember_a0076c6e-57ef-4846-87b9-b4f2c45cbd66" xlink:href="tyl-20200331.xsd#tyl_AppraisalAndTaxMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_16ed901d-ce49-4e39-93f5-f421c9467b40" xlink:to="loc_tyl_AppraisalAndTaxMember_a0076c6e-57ef-4846-87b9-b4f2c45cbd66" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_2a090247-c998-48af-80fa-d8ef7eb7793e" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_efa700a2-81a3-4976-a227-739eff23cb68" xlink:to="loc_us-gaap_SegmentReportingInformationLineItems_2a090247-c998-48af-80fa-d8ef7eb7793e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_df8b44df-5a10-4ab2-ae51-08c0f11a0acc" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2a090247-c998-48af-80fa-d8ef7eb7793e" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_df8b44df-5a10-4ab2-ae51-08c0f11a0acc" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_7a3193ac-2771-442b-b550-b01fe0615e6a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_2a090247-c998-48af-80fa-d8ef7eb7793e" xlink:to="loc_us-gaap_OperatingIncomeLoss_7a3193ac-2771-442b-b550-b01fe0615e6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingAbstract_2166ad5d-3104-481d-846d-5cf2f07df3ac" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_5d735a4d-7fca-4e85-a7e2-f655a77ed665" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingAbstract_2166ad5d-3104-481d-846d-5cf2f07df3ac" xlink:to="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_5d735a4d-7fca-4e85-a7e2-f655a77ed665" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_83ff5daf-e965-4517-ab93-7992cf5b7f30" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_5d735a4d-7fca-4e85-a7e2-f655a77ed665" xlink:to="loc_srt_ConsolidationItemsAxis_83ff5daf-e965-4517-ab93-7992cf5b7f30" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_6375ba00-c174-4b6e-9b9e-c4461988ea73" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsAxis_83ff5daf-e965-4517-ab93-7992cf5b7f30" xlink:to="loc_srt_ConsolidationItemsDomain_6375ba00-c174-4b6e-9b9e-c4461988ea73" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_OperatingSegmentsAndCorporateNonSegmentMember_a8ec2776-09df-443b-86b3-b1f81536aaff" xlink:href="tyl-20200331.xsd#tyl_OperatingSegmentsAndCorporateNonSegmentMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_6375ba00-c174-4b6e-9b9e-c4461988ea73" xlink:to="loc_tyl_OperatingSegmentsAndCorporateNonSegmentMember_a8ec2776-09df-443b-86b3-b1f81536aaff" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MaterialReconcilingItemsMember_797c4ed6-eba6-43de-b70b-3975574727e1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MaterialReconcilingItemsMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_6375ba00-c174-4b6e-9b9e-c4461988ea73" xlink:to="loc_us-gaap_MaterialReconcilingItemsMember_797c4ed6-eba6-43de-b70b-3975574727e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a758ed08-5eea-43dc-9623-14ab1e97eaee" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_5d735a4d-7fca-4e85-a7e2-f655a77ed665" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a758ed08-5eea-43dc-9623-14ab1e97eaee" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_74c81b56-4c1a-4c6a-850c-2670bcacd785" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_a758ed08-5eea-43dc-9623-14ab1e97eaee" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_74c81b56-4c1a-4c6a-850c-2670bcacd785" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AcquiredSoftwareMember_89db126a-8b33-4965-a214-8866f251378c" xlink:href="tyl-20200331.xsd#tyl_AcquiredSoftwareMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_74c81b56-4c1a-4c6a-850c-2670bcacd785" xlink:to="loc_tyl_AcquiredSoftwareMember_89db126a-8b33-4965-a214-8866f251378c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CustomerListsAndTradeNameMember_1911d05e-a7d7-4d0f-8319-a12d83f19087" xlink:href="tyl-20200331.xsd#tyl_CustomerListsAndTradeNameMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_74c81b56-4c1a-4c6a-850c-2670bcacd785" xlink:to="loc_tyl_CustomerListsAndTradeNameMember_1911d05e-a7d7-4d0f-8319-a12d83f19087" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentReportingInformationLineItems_a1792c6d-dec8-464b-9256-4eb4e72c8b04" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentReportingInformationLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable_5d735a4d-7fca-4e85-a7e2-f655a77ed665" xlink:to="loc_us-gaap_SegmentReportingInformationLineItems_a1792c6d-dec8-464b-9256-4eb4e72c8b04" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingIncomeLoss_03b1f460-1461-43fb-91c6-d304e81cad2c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingIncomeLoss"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_a1792c6d-dec8-464b-9256-4eb4e72c8b04" xlink:to="loc_us-gaap_OperatingIncomeLoss_03b1f460-1461-43fb-91c6-d304e81cad2c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_0b945734-21c1-42fc-bc35-01589ffc0d6a" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_a1792c6d-dec8-464b-9256-4eb4e72c8b04" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_0b945734-21c1-42fc-bc35-01589ffc0d6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_177d2995-bcfb-4a57-8656-732f69766671" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_a1792c6d-dec8-464b-9256-4eb4e72c8b04" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_177d2995-bcfb-4a57-8656-732f69766671" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_68f82025-2472-41fb-98a0-4bc26369e833" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentReportingInformationLineItems_a1792c6d-dec8-464b-9256-4eb4e72c8b04" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_68f82025-2472-41fb-98a0-4bc26369e833" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/DisaggregationofRevenue" xlink:type="simple" xlink:href="tyl-20200331.xsd#DisaggregationofRevenue"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/DisaggregationofRevenue" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_324c6269-d957-46ce-b406-ea1cc2c13c53" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_7beaea2e-ac24-4c9a-903d-ba284ff2fcf8" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_324c6269-d957-46ce-b406-ea1cc2c13c53" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_7beaea2e-ac24-4c9a-903d-ba284ff2fcf8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/DisaggregationofRevenueTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#DisaggregationofRevenueTables"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/DisaggregationofRevenueTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_9dcc90d2-34cf-411d-95cd-c5a26205a1c2" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_85661091-7df1-4d34-bce6-d3f89636eee2" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_9dcc90d2-34cf-411d-95cd-c5a26205a1c2" xlink:to="loc_us-gaap_DisaggregationOfRevenueTableTextBlock_85661091-7df1-4d34-bce6-d3f89636eee2" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/DisaggregationofRevenueDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#DisaggregationofRevenueDetails"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/DisaggregationofRevenueDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_136877c8-2a4f-4acd-8b29-1291c78f203b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_d3a99203-960c-4d96-9bdf-790dd40ed013" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_136877c8-2a4f-4acd-8b29-1291c78f203b" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_d3a99203-960c-4d96-9bdf-790dd40ed013" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_a75d5202-e624-4010-ba25-0417daba4352" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_d3a99203-960c-4d96-9bdf-790dd40ed013" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_a75d5202-e624-4010-ba25-0417daba4352" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_0181c47c-7255-4fdf-b6c8-cead0d8e4506" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceAxis_a75d5202-e624-4010-ba25-0417daba4352" xlink:to="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_0181c47c-7255-4fdf-b6c8-cead0d8e4506" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredAtPointInTimeMember_09add0ef-1343-44a1-8f9b-d7d61389d2d1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TransferredAtPointInTimeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_0181c47c-7255-4fdf-b6c8-cead0d8e4506" xlink:to="loc_us-gaap_TransferredAtPointInTimeMember_09add0ef-1343-44a1-8f9b-d7d61389d2d1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TransferredOverTimeMember_e17a9b2f-faa5-4ade-a2d3-8b5a458012b7" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TransferredOverTimeMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_TimingOfTransferOfGoodOrServiceDomain_0181c47c-7255-4fdf-b6c8-cead0d8e4506" xlink:to="loc_us-gaap_TransferredOverTimeMember_e17a9b2f-faa5-4ade-a2d3-8b5a458012b7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductOrServiceAxis_2f2f22a7-e6d8-465d-97cc-9a63e98f040f" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductOrServiceAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_d3a99203-960c-4d96-9bdf-790dd40ed013" xlink:to="loc_srt_ProductOrServiceAxis_2f2f22a7-e6d8-465d-97cc-9a63e98f040f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ProductsAndServicesDomain_7f9e2395-66e4-4444-bd91-18632a475915" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ProductsAndServicesDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductOrServiceAxis_2f2f22a7-e6d8-465d-97cc-9a63e98f040f" xlink:to="loc_srt_ProductsAndServicesDomain_7f9e2395-66e4-4444-bd91-18632a475915" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_LicenseMember_0d83e521-d9d1-47a4-8970-e8bcc1a2c566" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_LicenseMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_7f9e2395-66e4-4444-bd91-18632a475915" xlink:to="loc_us-gaap_LicenseMember_0d83e521-d9d1-47a4-8970-e8bcc1a2c566" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubscriptionAndCirculationMember_ddb052b7-c1ad-4470-9a69-7da02de006e1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubscriptionAndCirculationMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_7f9e2395-66e4-4444-bd91-18632a475915" xlink:to="loc_us-gaap_SubscriptionAndCirculationMember_ddb052b7-c1ad-4470-9a69-7da02de006e1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_TechnologyServiceMember_505894be-fa47-459a-8b5b-ba7197ba7cf1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_TechnologyServiceMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_7f9e2395-66e4-4444-bd91-18632a475915" xlink:to="loc_us-gaap_TechnologyServiceMember_505894be-fa47-459a-8b5b-ba7197ba7cf1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_MaintenanceMember_62bd745f-be35-41e6-ba68-6381de77efd9" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_MaintenanceMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_7f9e2395-66e4-4444-bd91-18632a475915" xlink:to="loc_us-gaap_MaintenanceMember_62bd745f-be35-41e6-ba68-6381de77efd9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AppraisalServicesMember_4ef6bba0-0073-4e6c-a386-591e2b9ac1a0" xlink:href="tyl-20200331.xsd#tyl_AppraisalServicesMember"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_7f9e2395-66e4-4444-bd91-18632a475915" xlink:to="loc_tyl_AppraisalServicesMember_4ef6bba0-0073-4e6c-a386-591e2b9ac1a0" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ProductMember_c158e0ad-5426-4f6d-8002-3e260e6a07a4" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ProductMember"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ProductsAndServicesDomain_7f9e2395-66e4-4444-bd91-18632a475915" xlink:to="loc_us-gaap_ProductMember_c158e0ad-5426-4f6d-8002-3e260e6a07a4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MajorCustomersAxis_771681a3-fb43-4a6a-9fb9-417d7b4a6202" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MajorCustomersAxis"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_d3a99203-960c-4d96-9bdf-790dd40ed013" xlink:to="loc_srt_MajorCustomersAxis_771681a3-fb43-4a6a-9fb9-417d7b4a6202" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_NameOfMajorCustomerDomain_efaadeb8-ba16-476d-b204-3df1acfc2f1f" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_NameOfMajorCustomerDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_MajorCustomersAxis_771681a3-fb43-4a6a-9fb9-417d7b4a6202" xlink:to="loc_srt_NameOfMajorCustomerDomain_efaadeb8-ba16-476d-b204-3df1acfc2f1f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_RecurringRevenueMember_f301d624-2521-4789-b5c0-f0e1c6e07967" xlink:href="tyl-20200331.xsd#tyl_RecurringRevenueMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_efaadeb8-ba16-476d-b204-3df1acfc2f1f" xlink:to="loc_tyl_RecurringRevenueMember_f301d624-2521-4789-b5c0-f0e1c6e07967" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_NonrecurringRevenueMember_8ee46578-e224-4c23-a0cd-5b4fb17efed4" xlink:href="tyl-20200331.xsd#tyl_NonrecurringRevenueMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_NameOfMajorCustomerDomain_efaadeb8-ba16-476d-b204-3df1acfc2f1f" xlink:to="loc_tyl_NonrecurringRevenueMember_8ee46578-e224-4c23-a0cd-5b4fb17efed4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_feea5031-9e96-4934-b0d2-655f3c7f78d7" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_d3a99203-960c-4d96-9bdf-790dd40ed013" xlink:to="loc_srt_ConsolidationItemsAxis_feea5031-9e96-4934-b0d2-655f3c7f78d7" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_97036c69-3fc8-4b74-9395-54bed1ca4f7c" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsAxis_feea5031-9e96-4934-b0d2-655f3c7f78d7" xlink:to="loc_srt_ConsolidationItemsDomain_97036c69-3fc8-4b74-9395-54bed1ca4f7c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_b3730ca8-6eb0-456b-975f-2f8fcb50eaf4" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_97036c69-3fc8-4b74-9395-54bed1ca4f7c" xlink:to="loc_us-gaap_OperatingSegmentsMember_b3730ca8-6eb0-456b-975f-2f8fcb50eaf4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_IntersegmentEliminationMember_9532e4fe-832d-4833-92ef-472566060cfb" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_IntersegmentEliminationMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_97036c69-3fc8-4b74-9395-54bed1ca4f7c" xlink:to="loc_us-gaap_IntersegmentEliminationMember_9532e4fe-832d-4833-92ef-472566060cfb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_d107ca44-9a8c-476d-b725-277a386dd9aa" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_97036c69-3fc8-4b74-9395-54bed1ca4f7c" xlink:to="loc_us-gaap_CorporateNonSegmentMember_d107ca44-9a8c-476d-b725-277a386dd9aa" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_CorporateAndEliminationsMember_bbed19d1-ae5f-43bc-8531-f5fc28aaba94" xlink:href="tyl-20200331.xsd#tyl_CorporateAndEliminationsMember"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_97036c69-3fc8-4b74-9395-54bed1ca4f7c" xlink:to="loc_tyl_CorporateAndEliminationsMember_bbed19d1-ae5f-43bc-8531-f5fc28aaba94" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_40f603c6-9918-415f-96f3-146dc498cbc8" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="5" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_d3a99203-960c-4d96-9bdf-790dd40ed013" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_40f603c6-9918-415f-96f3-146dc498cbc8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_89b48e0e-672b-4692-ba1d-05f72d560e90" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_40f603c6-9918-415f-96f3-146dc498cbc8" xlink:to="loc_us-gaap_SegmentDomain_89b48e0e-672b-4692-ba1d-05f72d560e90" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_EnterpriseSoftwareMember_ad609a1d-237d-47b3-9c6e-0fa4fbc2ebc5" xlink:href="tyl-20200331.xsd#tyl_EnterpriseSoftwareMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_89b48e0e-672b-4692-ba1d-05f72d560e90" xlink:to="loc_tyl_EnterpriseSoftwareMember_ad609a1d-237d-47b3-9c6e-0fa4fbc2ebc5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AppraisalAndTaxMember_012b4850-ec2c-4691-b07c-203d6c21a1b4" xlink:href="tyl-20200331.xsd#tyl_AppraisalAndTaxMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_89b48e0e-672b-4692-ba1d-05f72d560e90" xlink:to="loc_tyl_AppraisalAndTaxMember_012b4850-ec2c-4691-b07c-203d6c21a1b4" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_5b493508-eded-43b2-9e53-725dd8fabf58" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="6" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_d3a99203-960c-4d96-9bdf-790dd40ed013" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_5b493508-eded-43b2-9e53-725dd8fabf58" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_b978fd8e-3309-44cd-9f4a-70488d57b2d6" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_5b493508-eded-43b2-9e53-725dd8fabf58" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_b978fd8e-3309-44cd-9f4a-70488d57b2d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/DisaggregationofRevenueAdditionalInformationDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#DisaggregationofRevenueAdditionalInformationDetails"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/DisaggregationofRevenueAdditionalInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_454f86a6-6d94-443a-afdc-2a916b0d8559" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_9cedb3d9-76f0-425f-8f93-0b51d575abd3" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_454f86a6-6d94-443a-afdc-2a916b0d8559" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_9cedb3d9-76f0-425f-8f93-0b51d575abd3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeAxis_78db7884-60ce-49f1-beae-b6889c354a6a" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_9cedb3d9-76f0-425f-8f93-0b51d575abd3" xlink:to="loc_srt_RangeAxis_78db7884-60ce-49f1-beae-b6889c354a6a" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_RangeMember_0c53228f-b44d-4105-a4c6-497c4eaec3a8" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_RangeMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeAxis_78db7884-60ce-49f1-beae-b6889c354a6a" xlink:to="loc_srt_RangeMember_0c53228f-b44d-4105-a4c6-497c4eaec3a8" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MinimumMember_9ff883ad-c2d1-4ad0-af02-7bb9809089c3" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MinimumMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_0c53228f-b44d-4105-a4c6-497c4eaec3a8" xlink:to="loc_srt_MinimumMember_9ff883ad-c2d1-4ad0-af02-7bb9809089c3" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_MaximumMember_5954716d-23e1-4b90-a438-75b047e37f45" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_MaximumMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_RangeMember_0c53228f-b44d-4105-a4c6-497c4eaec3a8" xlink:to="loc_srt_MaximumMember_5954716d-23e1-4b90-a438-75b047e37f45" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_3e35fca1-2992-4851-991b-accf77ab77cf" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_9cedb3d9-76f0-425f-8f93-0b51d575abd3" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_3e35fca1-2992-4851-991b-accf77ab77cf" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_RevenueFromContractWithCustomerContractTerm_64deb8a1-6dbc-4d31-9576-57125e5a4523" xlink:href="tyl-20200331.xsd#tyl_RevenueFromContractWithCustomerContractTerm"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_3e35fca1-2992-4851-991b-accf77ab77cf" xlink:to="loc_tyl_RevenueFromContractWithCustomerContractTerm_64deb8a1-6dbc-4d31-9576-57125e5a4523" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_RevenueFromContractWithCustomerTypicalContractTerm_403e6865-a3e0-4a12-bd13-826fc6372b1f" xlink:href="tyl-20200331.xsd#tyl_RevenueFromContractWithCustomerTypicalContractTerm"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_3e35fca1-2992-4851-991b-accf77ab77cf" xlink:to="loc_tyl_RevenueFromContractWithCustomerTypicalContractTerm_403e6865-a3e0-4a12-bd13-826fc6372b1f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligations" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredRevenueandPerformanceObligations"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligations" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_693a8c80-07e4-4ae7-b57a-e5590f3dabfd" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_d5d0f28d-21bf-45f9-9b25-f15fa82e7ddd" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_693a8c80-07e4-4ae7-b57a-e5590f3dabfd" xlink:to="loc_us-gaap_RevenueFromContractWithCustomerTextBlock_d5d0f28d-21bf-45f9-9b25-f15fa82e7ddd" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/netLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsTables" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredRevenueandPerformanceObligationsTables"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsTables" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_dc0b77db-a08e-41cb-bda0-9e5883deda38" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_258c0a5d-5e11-4b01-b66d-95beba33fe5e" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_dc0b77db-a08e-41cb-bda0-9e5883deda38" xlink:to="loc_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_258c0a5d-5e11-4b01-b66d-95beba33fe5e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredRevenueandPerformanceObligationsDeferredRevenueDetails"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_20a04380-0429-49ea-96c5-7851da021019" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueTable_d8f019e5-461b-48bd-8ae9-a25c02172472" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueTable"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_20a04380-0429-49ea-96c5-7851da021019" xlink:to="loc_us-gaap_DisaggregationOfRevenueTable_d8f019e5-461b-48bd-8ae9-a25c02172472" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsAxis_2ffcc69c-2674-488c-b926-557b9ccf6829" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_d8f019e5-461b-48bd-8ae9-a25c02172472" xlink:to="loc_srt_ConsolidationItemsAxis_2ffcc69c-2674-488c-b926-557b9ccf6829" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_srt_ConsolidationItemsDomain_dc511c62-a2bb-4aa2-b467-e087bbdd4b8d" xlink:href="http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd#srt_ConsolidationItemsDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsAxis_2ffcc69c-2674-488c-b926-557b9ccf6829" xlink:to="loc_srt_ConsolidationItemsDomain_dc511c62-a2bb-4aa2-b467-e087bbdd4b8d" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_OperatingSegmentsMember_59ddb8fc-d502-47ce-aa53-035876e918e9" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_OperatingSegmentsMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_dc511c62-a2bb-4aa2-b467-e087bbdd4b8d" xlink:to="loc_us-gaap_OperatingSegmentsMember_59ddb8fc-d502-47ce-aa53-035876e918e9" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CorporateNonSegmentMember_f48d688a-5dd9-40ca-803c-512f44d458bb" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CorporateNonSegmentMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_srt_ConsolidationItemsDomain_dc511c62-a2bb-4aa2-b467-e087bbdd4b8d" xlink:to="loc_us-gaap_CorporateNonSegmentMember_f48d688a-5dd9-40ca-803c-512f44d458bb" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_StatementBusinessSegmentsAxis_b626fcd6-b45b-491e-aecc-870700ad02ed" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_StatementBusinessSegmentsAxis"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_d8f019e5-461b-48bd-8ae9-a25c02172472" xlink:to="loc_us-gaap_StatementBusinessSegmentsAxis_b626fcd6-b45b-491e-aecc-870700ad02ed" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SegmentDomain_bce93c11-3f9a-4b90-804e-880109e23bac" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SegmentDomain"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_StatementBusinessSegmentsAxis_b626fcd6-b45b-491e-aecc-870700ad02ed" xlink:to="loc_us-gaap_SegmentDomain_bce93c11-3f9a-4b90-804e-880109e23bac" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_EnterpriseSoftwareMember_aabe2655-504b-4c46-9dff-0c2c41e29cb5" xlink:href="tyl-20200331.xsd#tyl_EnterpriseSoftwareMember"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_bce93c11-3f9a-4b90-804e-880109e23bac" xlink:to="loc_tyl_EnterpriseSoftwareMember_aabe2655-504b-4c46-9dff-0c2c41e29cb5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_AppraisalAndTaxMember_14679c12-11a6-4a57-99d0-0dc3e94bbf43" xlink:href="tyl-20200331.xsd#tyl_AppraisalAndTaxMember"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SegmentDomain_bce93c11-3f9a-4b90-804e-880109e23bac" xlink:to="loc_tyl_AppraisalAndTaxMember_14679c12-11a6-4a57-99d0-0dc3e94bbf43" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_DisaggregationOfRevenueLineItems_0f0a388c-841f-4dae-999c-7e42a43364a1" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_DisaggregationOfRevenueLineItems"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueTable_d8f019e5-461b-48bd-8ae9-a25c02172472" xlink:to="loc_us-gaap_DisaggregationOfRevenueLineItems_0f0a388c-841f-4dae-999c-7e42a43364a1" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_217be2cb-3c82-4204-a8bc-1c90961b14d6" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_0f0a388c-841f-4dae-999c-7e42a43364a1" xlink:to="loc_us-gaap_ContractWithCustomerLiability_217be2cb-3c82-4204-a8bc-1c90961b14d6" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_ContractWithCustomerLiabilityRollForward_704280c2-e1f4-4d7f-9f04-8f88feddefa5" xlink:href="tyl-20200331.xsd#tyl_ContractWithCustomerLiabilityRollForward"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_DisaggregationOfRevenueLineItems_0f0a388c-841f-4dae-999c-7e42a43364a1" xlink:to="loc_tyl_ContractWithCustomerLiabilityRollForward_704280c2-e1f4-4d7f-9f04-8f88feddefa5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_7efe6c3a-6846-45b7-8bd6-383a92cf6cfe" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_tyl_ContractWithCustomerLiabilityRollForward_704280c2-e1f4-4d7f-9f04-8f88feddefa5" xlink:to="loc_us-gaap_ContractWithCustomerLiability_7efe6c3a-6846-45b7-8bd6-383a92cf6cfe" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_ContractWithCustomerLiabilityIncreaseFromDeferral_cf9960e4-a793-4398-a113-0d71484a95b5" xlink:href="tyl-20200331.xsd#tyl_ContractWithCustomerLiabilityIncreaseFromDeferral"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_tyl_ContractWithCustomerLiabilityRollForward_704280c2-e1f4-4d7f-9f04-8f88feddefa5" xlink:to="loc_tyl_ContractWithCustomerLiabilityIncreaseFromDeferral_cf9960e4-a793-4398-a113-0d71484a95b5" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_72d61074-fc3e-4533-8ada-2790b6dd7371" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiabilityRevenueRecognized"/>
    <link:presentationArc order="3" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_tyl_ContractWithCustomerLiabilityRollForward_704280c2-e1f4-4d7f-9f04-8f88feddefa5" xlink:to="loc_us-gaap_ContractWithCustomerLiabilityRevenueRecognized_72d61074-fc3e-4533-8ada-2790b6dd7371" xlink:type="arc" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_ContractWithCustomerLiability_700c8012-f33a-444e-bac6-c88583c96f20" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_ContractWithCustomerLiability"/>
    <link:presentationArc order="4" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_tyl_ContractWithCustomerLiabilityRollForward_704280c2-e1f4-4d7f-9f04-8f88feddefa5" xlink:to="loc_us-gaap_ContractWithCustomerLiability_700c8012-f33a-444e-bac6-c88583c96f20" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredRevenueandPerformanceObligationsAdditionalInformationDetails"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueFromContractWithCustomerAbstract_7cc762a7-04d4-484e-9190-3d678b6c86c5" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueFromContractWithCustomerAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligation_5254efa5-9454-4f2c-8b71-d2a9d5a28c4b" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligation"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_7cc762a7-04d4-484e-9190-3d678b6c86c5" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligation_5254efa5-9454-4f2c-8b71-d2a9d5a28c4b" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_1cdfa813-972e-4b32-aa62-2e2a5e426a6f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueFromContractWithCustomerAbstract_7cc762a7-04d4-484e-9190-3d678b6c86c5" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_1cdfa813-972e-4b32-aa62-2e2a5e426a6f" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_b9b32e13-06a1-47d9-8ce5-33acd77d303c" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_1cdfa813-972e-4b32-aa62-2e2a5e426a6f" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_b9b32e13-06a1-47d9-8ce5-33acd77d303c" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_40188e94-4440-4fc2-ab43-fa757ddcf321" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable_1cdfa813-972e-4b32-aa62-2e2a5e426a6f" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_40188e94-4440-4fc2-ab43-fa757ddcf321" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_2283de8a-6f69-4b56-b182-5f81245a9569" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationPercentage"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_40188e94-4440-4fc2-ab43-fa757ddcf321" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationPercentage_2283de8a-6f69-4b56-b182-5f81245a9569" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_e70d837a-5abc-4940-91fc-75f9f4dd5008" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1"/>
    <link:presentationArc order="2" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems_40188e94-4440-4fc2-ab43-fa757ddcf321" xlink:to="loc_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_e70d837a-5abc-4940-91fc-75f9f4dd5008" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails_1" xlink:type="simple" xlink:href="tyl-20200331.xsd#DeferredRevenueandPerformanceObligationsAdditionalInformationDetails_1"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails_1" xlink:type="extended"/>
  <link:roleRef roleURI="http://www.tylertech.com/role/CommitmentsandContingencies" xlink:type="simple" xlink:href="tyl-20200331.xsd#CommitmentsandContingencies"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/CommitmentsandContingencies" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_a0bfeb74-8cad-45d9-b36f-b8b0629d837f" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_4cbda2c3-249e-4d38-a4c7-72a581bc0429" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_a0bfeb74-8cad-45d9-b36f-b8b0629d837f" xlink:to="loc_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_4cbda2c3-249e-4d38-a4c7-72a581bc0429" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/CommitmentsandContingenciesDetail" xlink:type="simple" xlink:href="tyl-20200331.xsd#CommitmentsandContingenciesDetail"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/CommitmentsandContingenciesDetail" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_70fa134c-0652-44ba-a390-608c15a443ec" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_tyl_NumberOfLegalProceedingsThatHaveMaterialEffect_6ea0660a-117c-4897-833c-ca5841401c8e" xlink:href="tyl-20200331.xsd#tyl_NumberOfLegalProceedingsThatHaveMaterialEffect"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_CommitmentsAndContingenciesDisclosureAbstract_70fa134c-0652-44ba-a390-608c15a443ec" xlink:to="loc_tyl_NumberOfLegalProceedingsThatHaveMaterialEffect_6ea0660a-117c-4897-833c-ca5841401c8e" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
  <link:roleRef roleURI="http://www.tylertech.com/role/SubsequentEvents" xlink:type="simple" xlink:href="tyl-20200331.xsd#SubsequentEvents"/>
  <link:presentationLink xlink:role="http://www.tylertech.com/role/SubsequentEvents" xlink:type="extended">
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsAbstract_6f0188c7-9ccf-4039-aa44-3e5d7aca5ccc" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventsAbstract"/>
    <link:loc xlink:type="locator" xlink:label="loc_us-gaap_SubsequentEventsTextBlock_0723de6f-002e-4b88-bbb9-e535b62ad773" xlink:href="http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd#us-gaap_SubsequentEventsTextBlock"/>
    <link:presentationArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_SubsequentEventsAbstract_6f0188c7-9ccf-4039-aa44-3e5d7aca5ccc" xlink:to="loc_us-gaap_SubsequentEventsTextBlock_0723de6f-002e-4b88-bbb9-e535b62ad773" xlink:type="arc" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>10
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6800232384">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Disaggregation of Revenue - Additional Information (Details)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_RevenueFromContractWithCustomerContractTerm', window );">Contract term</a></td>
<td class="text">1 year<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_RevenueFromContractWithCustomerTypicalContractTerm', window );">Typical contract term</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_RevenueFromContractWithCustomerContractTerm', window );">Contract term</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_RevenueFromContractWithCustomerTypicalContractTerm', window );">Typical contract term</a></td>
<td class="text">5 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tyl_RevenueFromContractWithCustomerContractTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Revenue From Contract With Customer, Contract Term</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tyl_RevenueFromContractWithCustomerContractTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tyl_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tyl_RevenueFromContractWithCustomerTypicalContractTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Revenue From Contract With Customer, Typical Contract Term</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tyl_RevenueFromContractWithCustomerTypicalContractTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tyl_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6799290672">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Tax Provision<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Tax Provision</a></td>
<td class="text">Income Tax Provision<div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We had an effective income tax rate of negative 36.3% for the three months ended March&#160;31, 2020, compared to 22.0% for the three months ended March&#160;31, 2019. The change in the effective tax rate for the three months ended March&#160;31, 2020, as compared to the same period in 2019, was principally driven by an increase in the excess tax benefits related to stock incentive awards.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The effective income tax rates for the periods presented were different from the statutory United States federal income tax rate of 21% due to excess tax benefits related to stock incentive awards, state income taxes, non-deductible business expenses, and the tax benefit of research tax credits. The excess tax benefits related to stock incentive awards realized was $22.1 million for the three months ended March&#160;31, 2020, compared to $1.7 million for the three months ended March&#160;31, 2019. Excluding the excess tax benefits, the effective rate was 27.0% for the three months ended March&#160;31, 2020, compared to 26.8% for the three months ended March&#160;31, 2019. </span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We made tax payments of $176,000 and $88,000 in the three months ended March 31, 2020, and 2019, respectively.</span></div><div style="margin-top:12pt;"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The Coronavirus Aid, Relief and Economic Security ("CARES") Act, which was signed into law on March 27, 2020, provides an estimated $2.2 trillion to fight the COVID-19 pandemic and stimulate the U.S. economy. The assistance includes tax relief and government loans, and investments and grants for entities in affected industries (e.g., health care, airlines). </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The business tax provisions of the CARES Act include temporary changes to income and non-income based tax laws, including the ability to utilize net operating losses, interest expense deductions, alternative minimum tax credit refunds, charitable contributions, and depreciation of qualified improvement property. Measures not related to income-based taxes include (1) allowing an employer to pay its share of Social Security payroll taxes that would otherwise be due from the date of enactment through December 31, 2020, over the following two years and (2) allowing eligible employers subject to closure due to the COVID-19 pandemic to receive a 50% credit on qualified wages against their employment taxes each quarter, with any excess credits eligible for refunds.</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We evaluated the CARES Act provisions and the enactment resulted in no income tax adjustments. We do not believe that the income tax implications will be significant to our overall income tax liability.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -URI http://asc.fasb.org/topic&amp;trid=2144680<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>12
<FILENAME>0000860731-20-000017-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000860731-20-000017-xbrl.zip
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
M < ]O/)[/VYRVQ<NM#LX"Y^+^X=^YP,*^NV32I(S--I1"#%X+2S:H@C,@J+
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
MO(,'N93WB5!76<>\-D9H+X@#FRS7'+'>4O1?C2O!VOA%7',X:Z]T3MNMA^A
M"M".:6%Y1$ P22'<!YDHM:)BGL4W$>;#.<)0C0XH<88@\@1O=:!12TJ40^J&
M6!+.6<BH^$P6/,Z';2*C!"$&G'<@O&5>):D,"Q2$T+0479J>-/V8 ^8<,\X8
M+@@/B +,NV@5_A4("$M!OX588/@T#)!H<A69!?!<"6V(!RTAR8A>9C+>T(J?
M*IOD!U)V2%,ET<_E3%"EK:0*>$S,4<FY,A4SE2]D,A].(@J]((.V24I6D-P!
M2GC!.#)8E)J1,EBW<X_'+]1:L3FQD7$V$DXU12=)2F,LUU1S'D.R4L-R6+M/
M9L'J?'@HH5/M:; J.",@@F< TKJ$?$14B*$D/+20CO:3 "'K R/2HPTDK1#(
M.Q0BNN'2>ZG04"(E8* %UV4S6S<VIU"?M8YXZ[QBZ.,[ZZA/A*";)D!1R98C
M2/P$%JS.*6)DP)JHK6;1B*S(N&<\*1:!&<YY6?)3"ZF_EAQX)$6NH211[_-.
ME]2"5^C',\H#>F>A#*;/@FJN.:P9FY/N2BZJH*61Z,#39)Q61* YY'+*P=DR
M=(ZO%JS.DW^TEBI!X*C !(G$4F:L#39OA1X#827AGX727D\&?"1U03//M0A>
M$*\\CQ*Y"'R*1$I1!M-G0?773-<?S8EY'*':4$4H=X(3:4V*PFG06C!I=1F8
MY\DO6)U3Q-!X832'("2(!,1PX-(R&VE":PB@))RS4#KK"0!.]$0XA]Y5$$:8
ME'S@+(S3\%2P1)<CS+/$]$L$5* F$1N%2 R,5U83X<$10@TO2[)I\5<8/HW*
M'.!:,L8\10\H;V'LN(Z!^Y182$&4(OA2#G9Z A8)S5OVQ9 S!DE(%YU4&H(!
M$,P@8I7%EEW(!:MS6C@@T"$):%BZA,:FE$9X!DH(+J6/2I>AU&KNKNV"+5B=
M#R-IYR)%9$@4G14)SA./=FB(/EHCA"R+U5DM6)TK%W&I'2-):\8E>B_4<YF4
MBA9M84,H3TO"14^D^C*@=LF!4G0_T?64R3KMC#?>$J)$FK1.*C$U%V;!ZIRJ
MM)FPT;E<0^($#\XZXFP*5J(IR(RC)5B.?"6/+]J]]@A>M3] 1-O/]0[;O@,;
MPR&,AG]>U-UQ?[#9<<.;4!S^?=8>0)RE&5%'.@W:KK,+2(;0SAM+C\]Z7-Z:
MTY95X"V7#MU4+X3GP6H0G+C@T64%K\J@!RK>6E#< NE$LB)HD;=#"_C_TF@O
M/"'!.PIE:(KQT[RU>38<];LP>-4>CE55:^ B-%QWB9EL3@W6.=/6).\<-X(E
MB:9/I%))BM:L-[#4 /8$F6Q.J>7$'1>1 ]K2@N<^#Z@CB2:&V.2L7I8F44\)
M-VB21N2]7[U'\]HS=):$TY2ZP"(3L"S1^J<EI9033T.,R0GT>PWU4O(@''ZG
MIA0-:*_7V>18^&$S(:+WA@D&S?2RWX]?6Y0S/0E-V8W1ZWZ[-]KIX0UF4$TT
MD[X-\]H8VAH/)#$*2E#+K4N!"HBYJHB$22G:@C/3S!O]_"S7-C_ X!X,6TX^
MTB82YZ/US@HOA0&6&$^@&)6.L')O #2[?@VS ,12\I<Q+@IA22(*76MTK-&S
M1D\H5QT$Q96O^*N"KI^..SOED@]YUS*1@!EM):I#0D5P,;HRQ6]*8D\]B?V
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
M8SHY:!T<-[=.2+WU]A(-3G'0>LL/CM^*>K>.[WI"FY\9B)![>RM!"T1K5XB
M#JU/7!5,HB]+0"GGZ=1 %%\W$"=AX\I,_#DSL;6[T=C;&9N$4SOQ]=O=O;<;
MC5:MU:RLQ7LIV\U^M]L>YNQ:[44;U2BR:,ZY/6(@;'N<=<H/FSRKE,#S\P9@
MH_7VO96"44M"P2)+A0!)"Y<4+30(E9+3N?AQ99T6E @C[Q\06YP0\SUCKH_.
M9;MPV!Z.4-.-&GCDR7':R7MJM-/1R@)LB(6PSA<&8B@<#?A[GD\."*3[K]"]
M;FUO_JO1?-5\B;BX6MMI;*Y]36_-@Z?8/0&M!.+QN8WXE3?Y;?O<A=&8IVO]
M5!M<\W+-#6O#4PBY@B+6VKU:>S2LA:.QN__[C[_^4B6C-=$_YX4)O28H_TE/
MBZS1KQ]D:YJSG[SVVT.6:TK*!?;OIOSRT+;FEY#@L6W-1W?8AKDT\W30_Y#E
M_7;<;*++=GIA6FXV*?X9P2:.>S2XV$2'M)2J[<I[.[QH;L7CQKM&N[[U5N U
M//^6QW;0W4=UMTWJ[][2@ZW#.]X;/D<T6)WNLYV/C19Z?*@:\3>^_^[O[L'Q
M_L=ZZ\WY0>OOD^:+V]Z;I2(3AA9$!%L(IDAAD7 %M:"L4$8()U;6MZ#C<F'^
M(L?W'R!#]KFQ=B=!]@CB]-__217YQ[PFLL*E^YO0+7>^,RW7#&/H*;'7-FO
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
M2Y8@JS"DPI!%R61^$T.^&=PI&\#D:.^L:?X $U@QQ.,Q!+6EU2R/H /^,P2
ME):TOF@7/D#O#(;/?P8#'F-J'EBP?VR(CR;("[T&KZ+K<M+UZ4!T&O_OI_B5
MKC&Y^#3?ZZ?1QQQ$[;31$AGB[7,GS$'_PG5RW_^?$O)?F+3O"?F<:+EH5/NO
MS^GRL/,RGOKO3,R$/).HX.),S%=+5LZ&\;-Z%3"6.JJH<MJ)0*AQ@1).B.+&
M$AW#%XOB/A6N%/P>=2MGP^+0N=/G4V/HQ:#?W<0QY-&]:X^.-L^&.*4PV#Z?
M;MRZ,40)'$)LN?/K8A8^YV*6^H7MANZ+7K/[XJCY;H?5MW;(_N5;UFCM=NKO
MWHCZ5OURO_6&U5MO:+VU?;E_^5?[%=\]VN^>=YK=[<N#[HZL7YZP_=;A>?WX
MS65>&E!O=4[J+]^>-[=.>./E6UY_V;B^!I]U=L#>JOU6H[M_?'+9;!T<-;>V
M+QI;]?/FR^WSYKLW'P]:VZ+9"N2@%3[NL[]2_8)<3+=F^OA>):]E4+HP7O!"
M))H*JZDM&"?"AL"9,'QEG9I5S?6=(I@OZ\!YB=?" <\OF'Z55JBTPN)K!>%
M6)& IR!% .^EMSKBTZ1UGE*?M0*U4ZV 'RJML-!:@5QK!0K:!L9#021#K>"Y
M*9S,E=K>\9 L!4;<RCJCJ]KR2BM4CN/\8GLE<1S/_# ,VJ=9/G[.39Q%+(@]
M-!7O(Z5?&6.)M:)DT>ODK0#K!(_<$4N,H* (=S0Q5OE*Y=&*C<T;OA*+PE#*
M5<$T(WDOSE@X9: P5(()#DT?RE;6#6I%-@NM^'/RMJ (N>!A\@H:'P0:T54
MPI62P2LA(O,D 3&4>>Z!:DHJAZ%4T/C)86"<Q6BU+"A(5@AG9.%L7M!)DM+*
M>D5<7%E7>I5I64%CY3!4F:9[9IKP+A_:8?%R2P^E&7_.M5\^S<B8BR0F8:-E
MPECNN-235(NUQ,94.0TETHQ[-YP&T!ZBLJ'@ O\((6EAC?8%2S'W<3*<6K.R
M+MDJY54H;2D2+!4T/BPT6L8@$D>T5$%H0HQ,(*PDEBINHU*5TU J:+R19> &
MZ9I, 2!H;L(0"N^3+X+T#"CU006_LB[,JA 5-%9.0Y5E^ [-ZZZ-L)D7OD,5
M2%MNG<@$\=9K:Z)-PFGC@^0Q4,;!1FTYJ=R%$NG$]@UW0>K@E4ZVL K_"*1@
MX;FC!5B-_T34EQ%6UBD5JUQ5D;0JR5!AXQUL=-2#2DXQ:X*(^(_26A$+25!M
M.+C*7R@5-G[R%T@*VFJ?"BN\0W_!T\*;E J-+B'702)--6(C(:M4L@H;*X>A
MRC)\F^8;IZ<#UQZZ3I5F>"*Z$8P(S D9HG+":.TTS>UVB74B!*-XY3>42#?>
M7,=!J4T6#"D,#R97[*K",*T+G=BXB35J3+:R+E>UJD)I59:A0L:[R$B]-$"$
M,YX+PK2A5"O-*/4Z.1]8Y364"AD_>0TV@'2>LL(FD0K!0!:.!E4HY8!;RPE(
MDI&145$A8^4S5$F&;]/\7VX0QY5)>>E[/^\G4L73EELS,J:9\()'18PPP3H?
MJ37.$CP0K:M\AA)IQN;-]0Q"<I\ 52$)V6<(H(N\8J5PPFL; _51P<HZ7S6Y
M-UD53:LR#14R?H:,B3$FDU1<<.&B, Z(UCPI863DJO(9RH6,GWR&1'6BDKJ"
M9MJ))%-A*=>%LTX*D$CKA#Z#6*7F[LXP%3)6/L.L\@Q2++[#T.J/7"?O4CKN
M<%B%T7ZU$UZ)]>5/;:U8Z<O%U)<W%SDH2I7FC!9*R5B(:&QA..I+:F+TA%L9
MA%I99UJM2D$7+LIV+VE<4'2MDA-/'E6U( 8B2$=C$#090Q(3/!)%A2(I\LH+
M*16J?O)"#%4TQ4 *P5PHA$ZR<)S9@E$;H[0@O96(JD*O$J4J5*V<E'LZ*5?;
M9V7G8=Y=IY=T+(^[MT(U:3\QT%**ZJSK%A<_G+#9'XXF.W3_RI8)L[!]*RJ6
MUFVI2/=4;:.JZ&-6&Q]4><[21!@>H/O_[3!"5N+-]++?C\.-7MR;+C[8ZW=B
M%2WXD9[-K9U1O4W.QQ&#C?<\N""3AH(%8PNAK"H<$Z'@6DOK6  /:F5=BZJ:
MHZKFJ%#N,;K95RCW2"C7V+Q&N>0BMR+JP@LI<SVWPD]>%XE:*E24AL*X"Z^I
M4*XR[*L5H-^F^4;X]UE[ "@%4PM_85WR:IG3PR@Y;B(H0P.:B,('AOK,"VN4
M"]Z8$.U#EF!4^N^!]%_]II4?E$S<0BQ23*(0QIK"&)9+M[4!;HWU,NN_5<*J
M#;N6*RI90>##5*%%&A-G#A0-(EIJI9(9_R15E+!D'K)>HH+ !X/ &RX CQJ2
M$Z*(3,=":.<+J_"3CT'Y8(!1;U;6U:HRLV@#\S0A\.DX 4\GNG_5!6:UUOW4
M2G(<ZA]6&U@]'069J*.@@M61,1&H=DPGB\ :"9->FP<MTZX4Y ,IR#<W?01#
M4M0VVD* "'G]$BN,M;8 '86VC!MNR<HZY715ZVH%4Y4-J$#P+@CZ!)SP0)1)
M"((H,II$P05G#*R1MO(2%A($;W@)RENNK#1%XI"7MPL$0<Y\D8RE02NFE<A;
MFU.]BO)<@6#E)U3)@N\D"ZIVD4],"<ZR762E!!](";Z]Z0F($'U$,Z8P29)"
MT)PH8!&*F'@RB1."5,R=#+B913?YIQDJJR"PS! XP[Z0%00^& 3>\ .<# QI
M!H562N9EE'F;*64+IR,0+1P55.4V5V(F3>.?)@0^'2]@Z;,%50/(IZ8"9]D
MLE*!#Z0"]V_5#!F?M+>B0):$0N14@ 6F"FHDE]9XH$!7UMFJJ+(!53:@@L#Y
M=GJL(/#!(/"&%Z -25(;7VA-4O8">.&28(62,GEJG1')9@BT9!:M5)XF!#X=
M+^ IM'0,GW5BJ")A3[@)V2Q;.U8*\H$49+CI(T@K?/3!%EP:5@A#6>&T)06E
MG JT=(@F<66="KTJZ"S2Y56WL0H^GPQ\SK*'8P6?#P:?-_P+BV13QJLB):\+
M 0$*'XDK-'AO3,R!%C4IN20S69I<P>=RN!]+VNMOD<92-6M<N$DKI:C..%+
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
M2*VO5KK??*]GH^'[?1@?/2LVM9>?-!:%0FD1H?1Y<]ZMI"K6"*TA%DP@,L1
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
M$LF $JMC(AF8$#KHG%S>Z''3Y0:K"ZU-V ZA< UT.$+A'4#A?%%C+T2T5I,
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
M:N MW=3\7KF<\\(9S7N>GW'X\T+AJ.X74?>G<SN59;&\C8H2920ETE)-@O-
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
M(?DZJ[V-^O4N].M\+6ZE!3<V69)\3$2:)(EUBI.@1=&LRB4*KBA8MHQNFXB
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
M=33<&+QX@<5+5<$E*OS$>,F,;E3[2Q95S4J[0D8S&:Y&UXE^+QH <*L08YO
M?1NJA@^0P/U N=@K@UDW!J<6@ED)IU1R)OV8)2R.\(9(^_";.:DFC*\,9KV
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
M7)SJH1'OO##9%-9[-K6]2U;PQ*NU33I@.%3^Y-JNX'F.>G,9]T*U9Z:95]6
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
M>GQC*O'B&:U>1-'M[FLO9:&@<2*#-/'")%74U4HUA[)^-/$"LUBKNV+?%#C
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
M%YJ#=),B4)R&@<]TI&.@KIL&.@*US0O#%&GN)1YM:?ZP-/]V<<QA,X'V%I%
M,3 X$QF#P:D2(J(T">(H"90/^$V3K?@:B_-*#T?-#O:7'2TU.@&:5WG))DCC
MXEQ+-"W[TRVGB<J._H&14I#I\)([P<A/)KX\ &\UY_'+,EEWY\O%L8K!%& @
M4D1(0\) E),8#Y>)J:>5FR8NV H +-?@BE$+0:6SG&/4"6< :WT*:NL0#.?5
M_K6:\>[".3\;H6DYYX$XI[=-C\%L";GO<>('/ :1!/ D!&,D$"GS0"%T$Y<C
MYUR#3G?F'"_9<GJGH+P8#>9J]^J#@\Y>]\.R)@O\LZ#)WL \>X-SGN5HGOT]
M*F8ULNXOQSZ'P3&/HS#QDH#$BC+"4JU)HG1(@ 1"NBQ5U$^?LO"OI?"#4U@+
MKKD/QDL88]?X (0,U8QX'(R72 :!Q'*]X6@)'Y8!(QNJ3'(39@%U)JL7&;YP
MK.L;> .,5_0L6#>'G-&G@IG2E5 XYZ#4H/]:76$=&<>"T&!394/9GR 2&;\%
MW <O5I7B4]0/EA-X!HSF'&4#:EV@9,/X2?7Y")/"T,>AQ[.;^B.,#.M\4-\&
MD\$ON(3!@#D^10\-L+C"ERGCY<&C;8R31/ ^'TKM%*<:GGF%8F96QCI&U*IY
M9L5L@O#N PVH/#S9=$[T4.>E XFK03;,"F!PU %G4[_#6(LQ_&.2XPSQAG"'
MWEH1UUAR$M[2]9ZL<KV_-']Y^#3^<I.>N&T8<2<K9']43'*]+E[R_8,*I>1E
MY\]#MM_;#0Z_?ID>7GZ:'IUU@J/>/_WN#H;YU-GAX#,@F5P.ZUUV+H[.3H).
MKW]ZU/OKK+OSUZ!SV>]WOWYQNQCFH]WL")"L>_DY[9Y] ;3;IOL]Z7=V3BXZ
M%\=)(#Q7!0&A--2@U*0QX134818)/_5IY%&UY#&/PYC1D*<1D ,4:"]F7BA
M@OG<BR3HT(L><T,#QQ+A>D_Y2G_SC:^[:A^$Z[\-;A&07U=+L\P*+GJC\DRZ
M_^B^ZHTZ?#S)L_'T0$O\-]/%VE@-3[[==K:/M0A2/XI#(E-?$88*'^<R@1\A
M%2("92T%!D[<ZZ+H&?X?ZW2-!G"2<X5"/P<IBA$&%%H#X F9G8,($R"2"BN]
M!R4E')1*A8.IW2BTJG_!_!A-3DZ1V_PMYZN&=XSUT C/TU'?1#5 I-KGP6?U
MT_!]AC%E'P1\EF;:7#M UTLQD:?F64+W,_W=ZB8./S_/1S^ AW 8*6@RSG=,
M_8.+))_ .V 'V B)#>GWIR#E0;H["D,H9;S$CF:V#(6QBQI/*V97%37K+4:+
M_H8Q]9V]/1PK7#LUWYL<=\>L\_D$]17,>?GO9(2B_!PPR@I_P)5OJ,V88 S>
M-AS!O\91Y(""8S6>D0 @^&Z"3_9Z7'MNACH_>O.$6BUS\)&-^%%AWS"GJ^"*
M6.UI[C% C&Y#\5K\;DX1^PEUR[E-YM 0'PV(KPPKP>3&&/72F5V0ZI'PF"?P
MP=^EJ\E>.=K/]6#7QHYY:LC"\>SW]FCW\I/;N>Q,N]O'4<@B3P8I0:<[6#6
M8 DV(0%0DZ @R#")PXUW+/$W058N@QARX8+>O0T,.!DVF:,P_0<,<JB1V5D#
M<_"I9:I^?W1A6 <M"0G[.!N#,5%4!LDU3%>81V+H-<=0[;2Z#?&QW TUKLWB
MKOAQ W"-50#W7L!EFHS2U.#A=6\UN]>^%3<W_ U_J8FLK+;Z'FL;5!MS?@0X
M5+#73,*T^>"VGL9J/]8#&([F5VW+V5L8@)EBTZ(RB7Z%(9,%$L"J0389%$O
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
MZL'VYGN6/]/?Y6_9WL&[+[T=_W5[\^W7WN9'VGOSWVNG<0AA!4N.!,8- 2:
MN, E44Q:#C'FE_W:!I-=*UGKI/':SA@_N41K)8;5)P;*(Z>1@3%4@BURT"'S
MA&1<"!4@N4H,2T4,,\U4Q;WTX Q! XQD^RIB04?B13GK,#FO;5S;X%UMVB>9
M6GFA\D+EA6?E!>:LH,K+(*P&J] (8SE3PBE)97YO05[X&H>#@*/]2@E/3@G\
MDA( ' 5F-+&!*P(8$K%:!4*E2@$=IJ#B1.J$\9>5%"HI5%*HI#!/"LFZ6(XH
MM"XX""Q@<#PDRC,Q%&5/J,'"4C$#7#(#XXQ%C(XX$RP!:CW!;$\2A &P.8!P
M,JQM,-/50E=B:.?BS8H?)W[J1G[8/VFV]]?S<5?\?%S!HF<(260* 9$$!N9\
MX1[/(5&C*M$L#]%<.8^.VB1D3(RD6)8KP''BT$02,'..1,Z,36L;6G450#TL
M]^DBD J.RP..6E I BAI! ?0 ;5'+R@MZ@U H7KARP6.LY1]H,P)&BG1R"D!
MPWGVP@$(#]09!5%(1]<V9)=J6[&Q8F/%QIO8:(3F&)DU: 380%%98,K:(!0D
M7M/6RP.+<VEKF8 6I1QO%2<03"#.BE!\1O !G&/!/V7:N@)C!<9VV&X!8)0\
M.)V<A6@11! YWJ(&6%14($N<5Z=QJ=!QEKI5U!CG+2TG:04":"/)<8$@ADO*
MN?#:H5W;,*RKN:C@V,[4[4]2=W\AD-RV-=+'(IN'+5NL(-EH9I2EX(RG'A(#
MD[@WT4"F'<FT])5LEHAL_IA+WW(O#,MQ%0'='.#('4%,B41+F:31H=!J;0.@
M:^$I4A0KOTY8P7'UP-$K8554UCK48(TQ(N@0.;,9*%- 6\%QJ<!QEKZET:?D
M)!"MO2*076^",ELQ!D$S'QH !6L;NLO,4RQM56RLV-@.VRV C='Y8#GF^9,=
M#$:SNVA3")9)U,HIO^@VQ9J^?398G*5O ],B.IU]1A I^XS,$XNR+&U93:VC
MTC-5JXXK,%9@O ,8.<= RYEW&1[!6(%":HW@*;.6VO"]@^^JT]@N=)RKO U>
MA* E,=QX IG[B ,;B1(,C),N96NN;4C>9>(ITK<K#XZU\G;13NS-C@ZLJX0K
M3C.1:<4RRW#J+# >K.4),"9C0@Y?15TE7"::Z<\E;I-3D"QD<A'"9B=<4V)<
MI"0E=!H9U9&ZM0U&H6O@*71"5GZ9L*+CZJ&C%,R$(*BU6H-7RF@I)=,1F3'2
MFD6+RRHZ/B\ZSC*W6C)FA:6$>2,(N&0),DA$>RJDI49CA+4-VY6\;DJHV%BQ
M\19L!!3 +3J3_P%I\B\F.&%++&N2=8ONV*J9VV>#Q5GFEB%ZI2TC6C--( 5-
M4.3?I [-MCR9C*Z%MQ48*S#>E;F%'$L[;4VP.936QGDI@F=<1!NT%55Y<[G0
M<9:Y3;I40PE.0.CL-$KNB 5&";#@<DQM*1<IA]0,ND+)BH[M3-VN=N7MY4E)
MM?3V9Z$;FZF!@[4BNV>Y:<%P3,DK)C)4^91D]<.7@VGF-9Z93A2-8\0A*TPC
M-#$\BE)_JV( 8V0,M8*B5E!48+P#&(-VEKKL=#,(P!58EH2/(H*D^35;*RB6
M"QUGR=ML*"LQ.**%]02B!6*8D\0['[3(O.>-*ZH)6M4"BHJ-%1MOTW4T*3@A
MT"L)>0)1(S$I;6R03E/+=74:EP469\E;FL%/!:H(\(395?2)H.:,>*E8XLEB
M#@ZJTUB!L0+C7?50!CQ'D#XH!*,U:F:X!VH1O#>JKO@O%SK.DK>6"ID$!5)\
M?P(V%M4$K0@UEH486$S>5Z>QU:G;U:ZZ_1<.0R.:4,XH'(SWX["N%*XXV0@9
M@!=:P>0A0+ 1?=0)14PZ8*K%MTM$-MOSHK<J&!IX4D2J( EXL,1@%"0)#\QZ
M%;&<T2>ZVM;2VUI%4;'QMBJ*'*]: X(9L!",<S1Q[JG@$%V0&.Z!C14 GQ@
M9RG::)WV7&NB(D<"*E#B-$CBH]'"!R,EBK4-_A1'2U3TJ^C7#MLMHJ>E!%!
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
M]6'W:V_S]=GNA[=G6WPO]?KSBL$\T0@<B;;)ED(60_+XX$10PRWD<$Y;6-L
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
M-4(]"9AAQ@AZY2'6M><-3(N*8A6+'\C9D;/KIWKUV=G%X.HB-V&6Y]H.]WD
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
MA6M&@DR];B0OM>?F"SE6L;]0M7;MS<E?AV]U,X1E\"3AXRSNHF!D\-RT$.*
M,6W[IF0%AR$6\(+&)^=964R0"P-!1-PDD4@*\).%S1F@S;C@>8[_XD([;F Y
M8%PI!X:QO!%GE#X\;LU!!L]Y*=K7<G91H34[F^4+&R:R$02P!Y T:6RW,(U(
M9SNP5]ISZ\6\NV8^HUERQFO12M-H45YV1U2U.P$Q\%'(YK0$:U."YVNHPS%*
M@A=TBMVH^3Q.\&09= Q>@?F&^83>Y:81$EKS>#0![WH&XMWL40"I]@O1:Y.%
M@]P!6U*C[$M"EIH0TU])#W6I8?0:CQI5@+?.00YQ"PR#]'(V16GN^H!42UC-
M-!G$5]"UL]8U-"?4&N*$"^!JT9E08$!U.>$08> <CB"0.)-LQ^[.Y#/8!XO_
MF66XYFFM$5J<BU$&9H&=%YD0M]FDZP/CHFI64$E6(=UR 56 C(-[%7Y]/@J@
MVGVQ6'VA3K6#6[* )1=4" (/<;P3+C@)%A46O;%PQ8V*)O"H/+O$XPPT+SR!
M;KQKF;/L>^?>2DMFHLUSD)EB5K5ZWE6SQDN U<YAJ:%%E\L"!UR;-<M'E-I.
M5@(&5@-0FPNT,YUEYJ!M"IZ'WT#T2K&C-8$8#3K#YAJ1S[',3?S.<%L3XS%\
M"?L'D\LOT/"@:Q56&T*Z<Y$&<59R:?2 (?X+[0R>Q#+-UB* CA2X9]MJ!ZC+
M5UXOPA%\+7BQ$/S5!QO37E4%L!)%8:[+"3 Z+Z;"%%PQGH9 :13DUS#TJA6%
MA>"4"WF\ZGV@+P1348RGO,Z:?>=&J!.P;<!,#(/:340<%[2PD++V)*Q1=NBY
MVU2330)T#%I=+GGC<AN5A49FTME>.T0@T32D1>_*8BTR3)H\#Q&M@13G69KA
M2($5:!\EKQ,.GP,OYKS-BZH1BAH8T[+X*SCAL<#)$"P<SQ=OBP@%'YFW_4HT
M_MPT7S0*W(P^SV3N,'IGL/HIR_)&V<2WEY*.CJ679K6(O\*T-?%VQ^P/M0,8
M 0PPY\(^M,M'Z=7 :[;N5'@@0::4*AFG"T^V;!HPTFC#)N'N#\&Q:^;!H W/
MWL/[VJ^RV6$;IGT4P0-.& P!Z<A9-I8;R//S9F&\9_!G#,_,IDGCVTI^CG?(
MWQP*#7=E2?O;N^-W[P_^>]=%ZC(X5@^6K2+XDZZV]7Q"C!9.NJ,Z8I-M'J+-
MK1;JNXA8A+"@0P=9&TC-8/ M"#E:C]6@2(:>C6GLVE$&H4#!$DU8==","M9Q
M%^+(HS4H2]VC_6A6I<(_GH+QX8G0X"6*-+15&&L/P8?B*\T:\V+! O@WY4(C
M@5)HJ-O'DF];.,$Y<4C3"+3A0L;^H NY5/I!$Z@4D\:HX_I8YGD,Q%O(OV8I
MT W7Q%BU<0%A,WB:-@I%A#?)VF;IAT0(5\\G<U-5S:882\B698L:&HPS,8KJ
ML@(UE>P7*Z1V^+BO"X9$A"PZK'IXA\OMNGDQ7EPEM:[U>6-L/C#VH;$Q\\2_
M1> )PI-CCA5.TRFH YY39>=H5^*\F"62&QQ7+A#%PKS-MU/2+)>\;N6O[8_K
M\JO5/F'U":8[O93+&/FVE+"%'T #/RO1B^5"Z-O>@#%-/HX4[;:/QM0"Q?"P
M7(-U8IJ4R\@590,('<.8F @6T^P;/L_QU*Y$?]#TT1P8+YIH."X:6O!,4B<$
M4$#>P;K@4BIC,S/KT]@<_EV*7#9QW2LNG"L8;"RXN*2W[!M^]@5"\"K)9!AV
MJ_'NCWD[D6>ATFHT\1[N8LV ?F1KA1,-4O$%6)'"@KQ9&C!<_8NUI]S^7<3'
M'0$2P@HM-TH.JS3YL) J::.^0-0%K![(+W!QU%HDEG*8(%BSR*^NF#(1C;%O
M [%$P#T.:3 ZRSTIT O-QR _EY%*HIUC3K7(:\3]EP79 Q'Z"HN$CX&A0GY)
M<C&Z1:E='>4\V!#GTE6WN:&D_R-&.<+DR!!<KODQ^KPH@,EGC<QCRO([7+^
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
M@G6NWY$_RTR]\UQ<-:>BXY=9#;(5K\URGDVX/I)_FQ:HH9#-A,=%*:H#7FI
M*2_Q,5$ N')EV4V#MU08_$U#??;Z9*+]RJ-RQLI+S0H&FF68X4"[X M<?Y;G
M6"!1C[@6LRDR$<92Q%_QPZ/?M?\4.2I9I?W.2CZI!]KA)!YJ2<2THRPNB]]9
M7&O/G\U_?_9BH#$MYPQ?DELMP%Q1@5&,Q[R,,X;=I3KTIU<CGJ>H]3,!/CS
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
M %XB7&\F>%ZD:<5K+;I<Q0=%CC;0G@L,T1PZFU1\!:RW:%"$)SCQ8P09!L,
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
M>Q'<@C)!U[@&MH@@@GB]6<;>'QI[WUCVV/L38 +8I!4L7FRQFDK6"TU!T+[
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
MXOE$ONX"3;A@R!90BLF%6?F:'GGK?G9IGWB>G&G$I=5;TJX7F!'JC-6+-IR
M13OW'/@01 3RTS\9#18W9V%Q(O#\S C?RQ&^-NW:H7-$_'OX0J*LWMVSV0KU
ML*I[S@/L] *IW[.J^E?D!7B(H27$%MA1I3Z#<?FO< T[3U@,W"]$S&;8<]31
M"_YY0?WN=\2<$18BK"1I"Q=Y?&F,'UMI&9.&WTV0)X?SFS,[>K1%(4N'5^;4
MAZ#$WK:;NCNG3)#_JIH'[FW !9UCUO6=,4,.5B^&NY>[-U,"RL=/E<FQX$Y8
M>QC&P9,?9I=/P!]P*/,Z]:05?4?**WWTCD1=(?5Z(#;VN=J7'=(WY,GCM/H6
M%9$\=NN> JG'P/T8<.)CSE6WS/7.G-+;&Q&^ *^<HQ%?X"EFV]O0AX)LP0C'
ML<7UO.27/S8;<7]_(%SP9*?7-VBKV/';-5<#_PONNRZV13@L#-RN0Q>RGJ[S
M'VB"%-G6T+(XQV[Y$ OX2-0^/28O4I5M^42NP+';DGVRL\L8#$>JY,<W542^
M5LQY1F_RDAK$PV<OWD,,8.H5NUP%>#%#_D#1%N4!]W[(Y[Y)R$^FYL%I"Z]P
M56.!OD<YZ!E'NA%F+S <\4<DPZLODP (&')"8#,2MG)+%]P5[MC>VUTL&"(<
M>3) HE=]*W,*'[L-<M8LE95>MPKZX=T]X+B0Y8)/WS$Z#Q>XY'NK<CK)#D@_
M:_H=/IBL.V48%QA!L@L?F]@XL7K 4^0],VIC+%]4SL<S)#ZA%_R((&4AR N'
MO:WY65&8(R=NRU-A\4&PKEQN8@L*5_$3]:/+>D9+@AR;:7DVCCF?J*>(>19O
M#V0.<,[650:MU+%;M30X&+_O@6X^*C26Z*6.WRI-D!Q2S[NC3([V^>TK*O^C
M<@0A%V$*9';1&6 8V(/%(OQR;;,E.N<YIHD'JHSQJ_CH4?M;?B:V)^R/XE_$
M5>P_<^DI5]IUOA)+']O1->D<*I4=[@!T]+8OG31Z4(U:5(.(]+"Z;;JTOQ>'
M^@E\'+(&.812%CT\+O^A<=VHW7GT[X)TY-"W3!\494,RG<'TYC./UE8A?[A%
M?);+>$'IGW2!]DD^'Z3,9H=&X-C=.%)'3EFRAET0EF_"C;\:8S;/)747J!_D
MQ;'0]O8_/B^S0_7J7YC#G3L3]$AL1I]!33VQ1:6/S?+6!<!7PG=>/%2R!VBA
M(ZX= FKSB+C= A.$$(BF<OO]!3,)15T52T'_D>R#:C39%I!+@APY%O>P3]4D
M@+)M#<LL>F3U-[>"P<%LF?%.(2$84\A\E_?TY :>H@"'GKC+/K@(:RNQDK;,
M\HJMI6T6/W8P&2$/\\2K3I)[KV%PR,_T"H@>?4C8,HX=8BS\R09!]1)#AIUB
M^X!YI8_ME_'R:P^'O^_]]30S,9O(Y:T4QM'34W4RA\/L:8X^O/L?4$L#!!0
M   ( *N&G5!SR8LE+1P  !4F 0 4    ='EL+3(P,C P,S,Q7V-A;"YX;6SE
M75MS6S>2?I]?X?6\+F+<+ZG);,FV,N,JQ_):SF3FB85+PV*%(CV'E&SOK]\&
M2<FZ4!(O '64J4K)HG((?.C^#M#=:#3^\C]?3T?/SJ&;#B?CGYZS'^CS9S".
MDS0<?_KI^:\??R;V^?_\]4]_^LM_$?+/EQ_>/GL]B6>G,)X]>]6!GT%Z]F4X
M.WGV6X+I[\]R-SE]]MND^WUX[@GYZ_Q+KR:?OW7#3R>S9YQR>O/_=C^Z2)D6
MP @/X(D$YH@71A"@V2DJ4N96__>G'ZW6QCG%24P)'XM4$Q^I(I3EH+,V7-M%
MHZ/A^/<?RX_@I_ ,!S>>SC_^]/QD-OO\XXL77[Y\^>%KZ$8_3+I/+SBEXL7%
MT\^7CW^]]?P7,7^:.>=>S/_OY:/3X:H'L5GVXI^_O#V.)W#JR7 \G?EQ+!U,
MAS].YW]\.XE^-I?Y@[B>W?E$^40N'B/E3X1Q(M@/7Z?I^5__].S90AS=9 0?
M(#\K__[ZX<VU+F??1M#-()[\$">G+\H3+UY-D ^(=?[=V;?/\-/SZ?#T\P@N
M_G;20?[I.7Z3%)U2L>CPSXOOO?C>;_2C>#::#_,M?EY^N_2Q!03X.H-Q@G2U
M@TT'=O3N]>&[X\/7^,OQT=LWKP\^'KX^_H@_?SE\]_'XZ.<W[UX=_7*XS=#7
M;+F.<+89QJ7X"H(+#*-)O/;0J)!R<BGXD0\PFO]U<#8EG[S_/'B#<\,IO)U,
MIS_CR_YJ,IX-QV<X5QQ]AFX^ENE+R),.%L]]]%]A>OAUUOE)AS.*[[Z]F<'I
M]-T$_^]XAH/!;CZ]&<^@@^ELX%*@*6A!J'% I*696)\9H=I$%V7,H/1U/2SE
M-'\ILI^&^9NQA(IO"',O8#2;7OR%E+_@C+%\0?Z\AS$M%+Z]N)<02H,7& =.
M>4X]!\*4Q*G0@2!6\D# VQ1]X#$YVD),*[!<']X51A]T\1F*!SI<4IX_^P)E
M 5BN+@M@OHNWJ'Y];EL^\6)Z=GHZ;Y,,4<X7WR]+33^9.9O45>&"*BB-G;DT
M.X$.!SBY#NCPZV<83V'@J-="ZTQ"M(9(E2CQ2N*0K?>691:M:$.K>V&MPS#^
MG\ZP>HJM1[85K&?><<ZC( @G$DE=()XR3W3.%A*G.7GQ*!/7YL/[6X>-O.\F
M>3@;&!LI3TH0 SRA:1K0@@T)+56'(T)3-EO9Y,6Y@J%/\_"NFK_)[FU%78W*
MQS!_5?\&8QS8Z&"<#M+I<#R<SLHPSR]?,Q5\H)$[8B3/1!H5B&/HR'"'4SI/
M%+)4+6BP'KP-YU'RI"C20$/5V/,!IH#-G""JUW .H\GGXCTO(1U/\NR+[Q!A
M')T5E_L@_OMLV$%Z,T;&1YA.7TUP<1!618:@"8!C1"8?B2T?J1'::YO0378M
MJ%4!^SJ\$T^5=_O6[<ZD1&=R<' ZZ6;#_YO+ZRB_.IO.4!0=#N%CYQ.\\Z<P
M1:O$CS\-PP@.IE.830<@@Q40-1$ZH)!2=L09(PDS/% G# -K'_"0M^QZ'?[(
MI\:??:BAV@1V=?W5FB:<-R7)CBLBI07B630D@%<N(Y&33GLU=;:9C\]A? 87
M%GSGX^RWX>SD0@'?WU84.?Z7T(P?".8A1,$(A\AQV"H2[X$3I[/1&FB"&-O,
MOQMC[9,EN"US;D^S;556[54I$_I1_MMDDJ;X(A]#=S[$>?YX,DH#G7A*P:'_
MI16.GQ4GS$E\B9E5B$D)QG@+"MT-J5<682VJ5-) -4:\@]F5M4)+7"H<VI[
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
M)VPFGEII!+BL;1-#^B:0/MG/E96_D\SK^5(I#<O8_>B]'Z8WXU?^\W#F1U?
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
MXO;+Y4):T3)XN.6*TMQP&-4"!6AVP!TOV,6A_-=G,#"*1I#@B-&F5.2-@E@
M2M"^S)I:KZ)J8H:O"W#7Z?_>?GX=I^%T?L2@E"Z.^.C!:?DT2  "K6R#KG&Y
MKTEQ])&"0<LY XK+!ZG;%)'8"FV?K(HFO+NY;K37:6OK8Y YM=;;XH1+6=P[
M3IQ#)SQQJY5U*27?Y*;2M:SQQPY\[(%"-?2R#X/CP=5CP-HM@]CV/A?"FT/9
M]U+H.$?]"DT$*(O&)D3B(5,2*7@N#)JY;0HR]&(IO.CG YSZ(4J].\H_XSSJ
M1_\"WPVT2-*'#$0%?"-*61[B6>+SZFS6)FJL;7(UP_:0G^2BN D#-UH4ZVFW
MVLJXKE *PH]?)H, 0@B=!8$D,Y$L($@M@20JLI(A^B2;5-G?$.>37$F;\VY+
M/3X.V9 ],"BA!>6S(EH70Z#<%.>LRT0+&\$HS<$WJ9N[,=)^;5_TC7 ;Z_)1
M*/?SY*P;R*0$Y<82K\IMJ.66'!M$2?%R)FK05,?'6V.O .U3F:C>$6YC33X.
MWX;G,&"61QV%($*7V*IQ"ET=AJ]&]E1#-#'K1ADDFP'=L$+4?QC?-M7DWOEV
MD&?074+5SK.L@B:96DJD!(-05<)70PD0-#)KFNQ";H6V3W<+]HIYV^MTOYLT
M^6QVUL'I<#P\/3N=7 RKF^=?#^=GY>KMTZS?5Y.MFBV'6C'&,NFN$^>"+Q\G
M+V%QZ2FD 4.7,@1D2.: #)$6IZIR*8&73'IJ>,JZR9U[ZP*L,2NNTP]Z0N7]
MF0Z,"$ 9,\2$$L2DBI/@N2-6BT"%UUR))G7E-P7:MWA*=;:MF@N;:;+J*KP6
MRN((+7!ZZP65RA"NM4!KH91*3L@1D%8H&5G6O)EGNQG4OL52^L.Y[;2Y=]85
M;V@!DSO+*;X)*(92+I664TN<1R*D8CPI)G*;FM@;(^U;.*4WG-M.E_NG'/Y8
MOADA>"4D(U:5#%J)_KAU,I*,-K&TW+*0FIPFV!AIWP(J_:'<5KI\A+45.O#%
M)1JD("3Z6)30'.8G0BWQZ'T3RW5V43.0N=DFQ690^Q95Z0WIMM3FWEGW#EVW
MCU]@= Z_3,:SD^F V:B-XH8PJSE.RT@4ZU!6B5&;F%!1IB;EW[<%W+?H2F\8
MN)-FVP98OA]-+V5-8#SU6Q8KOZ.A>C45'P!9JQKEK6YVJXIZ5W,-Y=*R.NJM
MSG8KS7E7<PVETZJ2*7R:5X$HM^#-4ZJOG+3>1CKW-5='.FL#;BR=[=^OAQMM
M+JE6[]H]75:ND+ME3\TEN\]B'??A^!Z07S[U <YA? ;E .!RY;\LVEI9_AMU
MW5PAVPNBL8;0RIJ,XW T](N2;)?VV*)X8K$-EU^?SB;E5I[):)A*&TV4MBN:
MYGJL*JX:]9J'4__I4P>?EGB6M-I"+7>U5*=2\SHPVXECZU7R_O9:BJ;1VGA'
M;SO4^+Z_P98B:G7>[H[N*A<QVJ:7EM+<:YFCB\KMR[YQJGT/W;S7<82C,!HN
MP.U2=/[!IJN6H-]L('N4X/93WV8=[%6:K2;'-;N_\=SN%R1LV>%>9;[.H/>H
M@]JS<8UN]ZJ/7L[7]X':ZFA>I8Y[HYD[#_5MKYOY[2>SN<N!D"ZO4-WRHL+[
M6JLBQ;7AMA7-UN[KPVVV%E.K*,%9F,*_S[#'P_-Y4>(M7/N;3=3QQ^\%=G7D
MR^V=\B/X*?SU3_\/4$L#!!0    ( *N&G5#*(,,"M3X  (Z, @ 4    ='EL
M+3(P,C P,S,Q7V1E9BYX;6SM?5F3&SF2YOO\BMJ:UT47[J-M>M94DJI;9JJ2
M5E)/[S[1'(!#XC:3U)!,E=2_?AT\I$PFR0R2 >:AFMFIU9&*^/"Y!^#N\.,_
M_M?GB]$/GW Z&T[&?_E1_(G_^ ..TR0/Q^__\N/?W_W"_(__ZS__[=_^XW\P
M]G]^?O/RAV>3='F!X_D/3Z<(<\P__#Z<?_CA'QEG__RA3"<7/_QC,OWG\!,P
M]I^+?_1T\O'+=/C^P_P'R27?_-OIGT/BPBH43$8$IE$$!LHIAKP$PU4NTMO_
M^?[/WEH7@I$LY4P_EKAED+AA7)1HBW72^N5#1\/Q/_]<_Q-AAC_0XL:SQ6__
M\N.'^?SCGW_ZZ????__3YS@=_6DR??^3Y%S]M/[I'U<__OG&S_^N%C\M0@@_
M+?[VZX_.AMM^D!XK?OH_O[Y\FS[@!;#A>#:'<?KV GI]GG_]AU?1F)^6?TD_
M.AO^>;;X]R\G">8+\=RZA!]V_D3]'5O_&*M_Q(1D2OSI\RS_^)__]L,/2^9@
MFJ:3$;[!\L/JEW]_\^(FTN%X_E,>7ORT^IF?8#0BQ(LGS+]\Q+_\.!M>?!SA
M^L\^3+'L1+]><@5E*IQ_KT_[Z61,'PC(-%U&9/2G.*X*WB/&;4\_'?/79[&,
M!2Y'\QX1WWQVKW@G%S#LD^ ;C^X![>)![ (O(D[[A'KMN5=PKD%N(JR/G'\9
MX72.Z<.?TN3BIP6^IY-/77#1OV1U,^5J^?G^^_+?77DO"7@X'M8]XR7]=O6/
MZRN.0("?YSC.F'_\89C_\N,PN6R*US&:S+4*WJ,57,8$MA2%60UN@#F4A%>_
M/7O^V]OGS^@7;U^]?/'LR;OGS]Z^H__^^ORW=V]?_?+BMZ>O?GU^#$T=G]P+
MD<>L8H/J$+A4R2>K2]&H1"C&.>E$3"@BEV+0]25U/>L5C2;IVCM']7"9?)7Y
M""*.%G\ZN)RQ]P ?!V_G=,[7(Y\HP!?TR]G 90E<&,=X285ICI(%26>X3D%G
MF5""45N_I<5W5& 6%Q_3Z@WT48GP$X[FL_6?L/HG=+:OSJ=_WPUE*:SC%_<&
M/^'X$F=/XFP^A30?Q&*SL3$QL%(S+0,PGZUEW"0=O=&.*]%B:9M KB_LFQX^
MF:Z7N-K5CMSVJJW6JYSGDQZ978J/%O#C#Y-IQNE??N0]2?H76O?3R7@!Z1]D
MNCZ]G,TG%SA]_CF-+JO5^V0V0_I_^1U\'@"W/B4;F V1(#L=6? J,NM NVQ3
M-AH:*L,A6,^O+Z<)>+NV-)/.3842IRK4T\EL_JJL@'\E 9*0.4)AZ(1B&@2P
MH*5C$+57J*(#H5NHS%8T#WX3.9WC9H+_ZV229T_&^2U./PT3SMY.1GE@BC;.
MD)O*LZANJH\,O"*,*17CI8DNQG;2WP;I_"K0@\RV:L')A#=0A;].)[/9Z^FD
M#.<#S4,NPEF6E>*DYP88&)^9-"6JDG)0;0Z+*Q@>_/=^+)\W12M/%>U;'-%?
MO?\KCG$*(]*[)_F"Z*SJ/!]^PN>?/Y)[B@,9'1KDB4F"Q'0H@44?"+3EB,[+
M!%B:F,*=X#UXA6@@A9NZHDZW+6=(#_Q ^)[1OC>:?*P,K,"]G93Y[S#%;S9,
M^N_+X13SBS%I.FUDL[J_#0!(SVDG9#&;Q+3FG $89,E67T](CZ&1XW$R]@>O
M9>>6WTT5U,>JX/S+:/#D8C*=#_^U"!*_*FN;F1;S;@H9?X,+G+T8SV'\?AA'
M6"WH.=&E8I09+4/"S;30B07N/!/!!&MMU@KL+?&4(U_]8+7E'%3?U QSZN;T
MZB/6S7+\_L4X$=B7=,(.0D)P* PC@\F1ZV0=0?*%*6F#UMEI)9N<6ENP/%AU
MZ(O?FR*W)XM\_@&GOTW&D^O0UJ>EI[-21]JJ0O&25DM'9G1%,L^%!V]K:+>-
M]/?">OB*T!_K-W7"G:H3W[1S'609CB\)Y$I])^/9SU@F4US^W#OXC+/GG\G,
MHO</QS#]LN"'5I=J>&:RL,IHI\,ITMD70DQ.DI7.:_Q%^^!85$2BY(I':2$:
M:&*[-%S3@]?&^R+OFZKL^U%E@KSZM'XF[Z!ZC.3LJY" SMBL-=/&9>:#L/2%
MV4PT^NI/ME/#&W@>B0J=QO--\8=3Q?\;SJ\<M:EX$<!J9E/5190$I@!G1G.A
MD@8>?&HA]&LH'KRHC^=T2U3MY+N:YS =TWXS>XW3MQ_(]?H:130!=8F\L Q0
MG:Q,IK2B_^@8,_VY,]8T$?8N0 ]>[KTPO44%3HZL;@+[&6;#-% Z*5JD9F1,
M$1;I PLA ',%E)+">@7^'/)?H#F_\/N1UBTJ<#C3#0+KFZ">#4>7<\R#4F0I
MD#SCTB#I.OE4L1C!A!+) T:N0)Y# 59X'JD*',-VBQ#\>J][!W&$ RN=PJ ,
M4Z%>(4DZE6(.DJF4O)!166U"TZR3!8P>17XE:[)](/UX+K=]WC\L<^#^G$:3
M&>:__#B?7N*W/R27 3_/GX\6+_S+CS-\7W]QK#K,IO/!Z^DD7Z;YJ^GJ]N_)
MY^%LP&7TVD3'K$,R4U)4#'Q2I*T*G'<YJMPECD'/OZ(,]+M-1=@%H$=5V).L
MND<UCI#EI$=.>]SWK^"Y>L?[;+$I=@(UV,B8[4G@-]'TN>?O2O?])O-^!'53
MZCVQ?#85<!ATX(4,D% =3X>)W$TZBCQBX<6B3KR+Y7<?17\M<_I.)'\(N3U*
MO%ZHK&_77A*<\0QG,,YO)E]@-!_B[->%+30PV5F;+&V-)1BFC<HLH'!,6D1I
MR!F5N''N;[VJNOU-Y[/F>A3'I!F7#9(PWU[&69H./RY8'>>G0SKS1HMHY I?
M*#ZABX$9)3+3")%%%Q-SN6CK($<)31*H;@/VD%6C"?D];P/K._6U"J_5U<7L
M# AF:Y!1>T$KM=(RS%+RJ+2!6#I\^MN?_I!EVA-G#9RV=Y@^C">CR?LOJV6N
M84%PGA2)61%J B#2J26P,% I&^F%!]&D9F 'GH<L_#ZI[C$;ZNH1M%[EK[3&
M.8YK]2.=1E=WH/6)5)R(/*3$LN/DU&I#W@MJ9$E+$0VQ8D0ZX'3O_.*'K #M
MF>XQ0VFMK5< K@"14EI5HJ93IEXS.')<P:%F!$2E6(+'TB2:>P/)0]:%?NCM
M,>]H<31]_#B%X0Q&7[5S"4DDFTLFB91L')F?WA,XEUB1W!7E)?U)[G*>;W_\
M0Q9C7ZSUF$U4(?T-IKGN,K2E+-);UEL)*%?K[FE=-?XH76"0BF0ZVB!X23P'
MU4&.VY_^T,78 V<[\W_^XZ<-4E[2;_NMM?WYR<LGOSU]_O9OSY^_>WL=T/%E
MMM<?VJS"=@_VC>):#P@B8XJ&1ZWIG)#1<^%<D=*JD'<4U^Y<1N_$OR8%&I/V
MS(<).O16.$(*U]]P'I'L6=5F\;.F0\I9RZ4.&FP"DXL')5.]^Y""=Y#/S@7V
M79'^],G;O_WR\M4_>OM:MC_\+'7I.]:R(1UA(9ABI TE:Q,$(**7SH4:0)(^
MWUZ:OG59APMFZ[/?_NW)F^=_>_7RV?,W;Y__[[^_>/=_CQ-,UX?W))BCUK(A
M&+)XLU<%58:DE37 +4G%%$4VH/(F# YX3^]M [*+QN0(S.:: 8N6,U^R9,K'
ME+ (DY5M8>_WWS;@Q3C1^3[#9[C\_U^,W\XGZ9\?)B,ZK&?/__MR./_R9C(:
M_3*9DB60!SP&B,Z0W9:$8615 //:2A:LYEDHQ7.;M(4#<=Z+=*9#M&1+QF(S
MN;0(A]\ -\C(DT:A6=;HF;98$9&IZ(4+*AH$GAHE.6Q".;\R-)7>C7R(DZAO
MD/*TR+R9O9C-+C$/<HXN\ZP9<A-K\2MG(9+;(*P".J&RBK9),?%5$(]< 8ZE
MNT',_'KVK8G2)!4L4XL-L#C/P/+ 4I B:G!*\B8M).XXH_F<PC^>\ ;5PXME
M+A7QV>5T.'[_&J?#2?XO&%WB.B,3\]/)14W"7]S7#8"<(>4,, Q>TU8E'?/D
MR#(GL2C$:(-K$CD]'.KCUJ/&HFL0A=^!>+D;[H"<./=1Y\AJ.AG3=$:R4+OM
M:,A9DY^>DV]25W,$UN]2W7H37H/JXR?Y_UW.YM7"G[W!4>T8^V[R#C[7YDZ5
M(EH#$;,#>N$!G=*%!86! !-+X%UFF, F1)FR,BWT[@3,CUO_SB7,!B71RV_D
M-0PS0>R*.2;K4,K C"G$5?&A]G0HS "7UNI8C&_3Y_ (L(];\YJ+KT'%]96O
MY=WD2<X+<<"H+N+%^"E\',YAM$ >-Y&_02)O-IRO+_>7V_P;3)/W2Z$N#(R!
M([,UAH1,R?I)I6JWXB+Q)R6R73G$-K&"U@M[W*I\K]2B077V/IOX^<7'T>0+
MXN)G7E].TP=:X^L1C <N6N<<$ID^$FB3*F@=F- I\%04>&P4&SX"[>-6T/8"
M;% 4OM<TWHEZ-I RQZ1R8,@YKQ\+G1$9R%IV)B>>4^2M6AD?A?>[U+Q>A=BB
M7OU=9>9R^F4!;?&=K'-S:VNP7W'^89('*B-P0=8(9E'+,K4B1PPX0P\A.2=5
MLDW">EW /6ZUZET\+0K>KX%<:OP:Y8!K&[-70.OVIE;X6>93%,0%'>PQ>D[.
M57/5N8[I.]*8$X2Q15%ZJ(J^<7,%*:0DT#,O:Z9:X)F!K)VF(#A:J$/EVC0A
MO>72\,1+,&=D,#P6>C-D\M]2IAT]I]IU2$9KK'*;J>&M+\%.2(-8UNJB#T%$
M08=4;9^D#4?F23J,\^!<TA)3X\D)=UW#?LKM_@E<WG4-^XTE+#^7ZMU-QM45
M7%1V&F&$R[2U$$NT(AUJ8R5#CIQ/M'7E%&C'::H=VU#=DRKW@Z2]2W%.9KU%
MJY/KF%;)QUU '5#R?K!*;$5UWM+W!M+;['O2&_7GTPL.@)@4,Z#(3$VY'O4E
MLAB%+5H@'8ON@>O#CGKX.U.' QAO,FWBXF*R-'77Y2#&);+L@/&8R0 5W+.@
M>&&J2.,1HZ2=LH4*W$!R!]V/3I?0C=D2I]#;("=P1T1X7=II,!9)YE,HY-EH
MA;1*H3D#+KT5J?ADFB1^[$7U&/2@/]H;[ %/4KJ\N%Q<N"XJBNK"I_BA;IB?
M5@U<5T"5]3H7B"P;(>HM:XUBA,*RS\9*G3VZ[5,.3]6/K@@?A:XT$4>#O,(W
M.*>U8E[W=UM7HMD,Q1;. CG89$IKRX*5DCGC72S$C!=-LM&WPWD,&M$#T0T2
M"Z]%L5:0T"89@/:OK'18=(XC-TI6=]QD,IU >F@2*MJ"Y3$(_E2*>YX$\G2Y
M+]7).*5@FB_O3UZ5)WFR;/M23>1(!C$W9!TO!FK3)@3,6TO;$]?11&=3,AM1
MAJW%NUW>]8!C!TWH['&/[X)OI>!=$&Z/)1PE^+N(%;21U@&J< +5/;=2ZHC4
M1$U"M9)E7O-"$Z:ZX44F4[&T!ZJ<-BW%>Z<,.P(%]T47#F'XS#KP+0=I=6:Y
M$K@NJC8G,)FP M:F49%9X3/]E33!=6GH<.A[SV<"M)+;(:?%*:3OC#3TVQ&B
M-O^>3<KK*<X(YS*Q]!J"3K73VY[21Y'TK>@VJZ&E#$H4CLA1@RA>"H]:&@])
M6C1E< O0 \DCOW!R6>>LO"?[8YQAFFL+QK?#]^-A&288S[_]P.O):)B&.#N"
MW&/>T@?Y)Z]N0SCT&64A0RS<D9U,"H^I=A1 ",+5E/#!B0MM+[SS"O&NA=E)
MJ#P%S\%EY634D78P;@"5Y.1C":^3/T:H=R/<;P'!%^,RF5XL-H=GU<\?G4G@
M>Q'<D1)T9V5#,9QPPM2NA-DJG5.!HD3*J.O85A3YJ*]]+YA3*W)_O_*^Z61,
MOTP+CW+V:OKT XS?XXOQU9\8CM.0M.#EUT0':VSROM1,Q&I%@$^,CO/,.!H#
M3GK,IDDGVY.1GV)WOL%T.:V)FZOQWV0"I7JPOL=7Y=UD#J/5GP]"%"56%]SH
M8IE6-K( 4C*5C2I99I5"E_&C7=]W_E#3>17HJAG:1 8-+KJ>PNQ#_;\:E/L$
MH\4-+GWP'R;3^3N<7KP8?\)5F<1 66FCY9EE1RQHCH[Y["V3*D;M77&Q3:/(
M[A"_%P5K++P&=V=UO:_*TRG26?$+I.&HIHEBI9A8^7DRG4Y^IU\\A8_T=_,O
M ]1DAT:@3X%+7P?< 8-B+<M%".,-UHY*+53M,)C?F[HU%&*#:[<5#3/:B9&^
MCCC"WW ^B"G1GJIK-FNHV:R6,XA),N%<0F>,2="DI<M6--^; ITND@;W<T]&
MH\GOM6'O+Y/IL\EEG)?+T4V@ TWG,#A(I,/:D#8'SF(R).H2#.<<O6R3!MT-
MWG>G2?T+K4&;CV,Y6MV798*.@LYH-+53N! UTP69+=SJD$01LLDA>!+J<R6U
MWZWZG4^P]R5E_OJIO[BX*4X$98UDT09DVM>T&IX+\\:BP!J[#TU\ZYM0[NJ"
M^XQJL&GYGR:.%AFRUQ"M+G&Z8&J9/[\-U-VDSY\JL+WR/X'M<VF"0Y$U%LNL
MS-7(BXY%P<G2(P>4<*?H/7_8&G!+POPY%. 0DAL(_@U^FHP^51?P&KAU%J;T
MAFO(+ N2E,Z",Q\QLR22$28ZT*F)Y[47U?GMYM,%=R/KL2_6&X07GV&<OQC/
MR$*II^)"ZS4J9Z34+%NEF%;!,##@F7'9QP(R9=VDC]U-*-^?V7"B.!I$::XC
M^@TN</5)=,'5TG38!>QNS(=3!;=7#TYDO<%)LA.?,]HE&1*+&$CY T(=PJ.8
M5RK;4,AQ$TT2I\^K#;>8$N=2AD/([CMU;G&6/7D_1;R2JJ443R5ESTHN9# )
M1UN?TI'Y!+HD+:5776;0;GWX^2V!?GB?]$E:BTJZ553NM\D<9R\G,*Y75+\,
MZXBTQ>WH.E;W\Y=OOWY'SUZH=9!:QCI*787:.S 2'0&)#FVUCQ&"\;Q)B.$4
MT-^?57$V$3>(_E]'M/H NV!J:7ML W4W=L?Y1'O#J^E)+DW\W"W89-%: T\L
M1^4)FZQCF[UEB.BB<4GKV*2GS/ETY1:KY'ZIRB'BZ-EV>8-SVG07G4+7P-:I
MYMYREZ)B1M92AX*U.5ZH10^07,)$1W&7*;L[7W!^&^9T[B=]$W>'-LSLYR\_
M#T>C9?;D_'+V5;UI^0(@%R:5)AL,R$8';A0C\** *%FY)OU"3@7^ARW35-0-
MKIRO(KR*;UT9UP'=>2R;;?#NMXW3C\AW'EZ]R:NIQ;,5)7@ FSPG#Y6^;ZV=
M8:%8R6B?]D&[**)MDAMS%]K4DQ5T%\ITB)@:*-'?QY% 85YE/J_;,Z@8HTDU
MZ4MB'<535!V03@O.1COT1DK?1'FVP[E+$^ITH4UZ9_Q,%8^+OJZSQ7..J^NY
M\L_[*<K9A6>CHD8[B$7;$%V2FJ..*! Y-R0M4TK2@UW03B#H-YA.%Q6NIQ1"
M[7E<WP3NQ[M!:.$*I#,1C,J:1XPFHW-!90"I"H3!WB>?MD/]?#D;CG$VN_**
MEU_SQ5*)UGNA&$)M(V-#8+[>UJ9@M2XV>AN;V/#[0)VZ);^&+]6H_F4R?3I9
M6-+T&_K5;$A?.BS?!'%QG?SU"'N2B&]"@714Q:B-E_6HPAI9SHE%#9[1]B&#
MS0ZY;!*=/0GU^3?XWK1J<WL_G_0:^-1OTP?,ER-\5;;P0];1E=\MO3JIP868
M.#/!U,!0-@Q*L'2(R> 0<Y&ES3#6 X&>*P.VF5HUE<Q]R6?=LK2%^6UE%MIG
MRQ2XS+0QFGDZ?)BFX]Q&E1*&?*9=_DY;-S75@4G_LFC@KVR#M1P_L YT=@'8
M,IIR*\*[":CT(L\..G*Z,.Y$:V)PV@0;&%9G3D=!GXJN$S+(OS<N2)Y+$X?W
MCK3EEH#)W2C+(3+H^7KHU]=_6XY,G+V&*9UD+\;I3SG"KT-B[C6D==J&)2.L
MU,1-$=$R[2SMI2IJA@Y<*DJ44KKT@NKVMGMA%)\BHDE3?L\4!%E,/+D^R.5P
MSW[+0_KPYV_#MN'%FV0A>P[*.%VE"$+)(*73TIK@@A_LAWDR<0NCY)C R,Y'
MM2%Q&\[-"%-RFDC31BJG ZI8M"<BK06#7D>]A<J;D$\F].WEQ05,OTS*-P]R
M.+[2MGT9@.F%\(ZO:B.08]:Y(3!T*9C$D]<B:<4]>&V43[1I&9D\I"T".WS)
M)PMT3]N>7J2X[_EM1-=Y11OR\NA161N3<$(+KF(L]'$)E[Q,F/(V>75<W(%"
M>H8%IXMY>!<7P]GLR%CXMJ?T0?BMZ#9HA5BX%#)*D:SF+H%"X4KR/@8CO!6#
M6X">3M[QX?$]#VM$99?0.$B@_02D<U9K" I,"CSHY),(M+VH;8SV$QA?S6$8
M_JL^>SR?DAE5AS9^BS?1!\2-!&3<2T7N/[<L@*JC\+00*9IH>9/@^&W 3C'4
MWP(=HE>H?'(QF<Z'_UI\Z\NNH@.OO+4^>6:D)==$*\<B%L-*C($TWQ=BHH.1
M?ON;[J!.K4^17[7/>Z:U24^LK4NOO4ITH!T,?1UFCX*\4DM>*5FV3$4A)1T6
M1;HFQ6N[(3T2S>B9^Q9ES=N1757?@8DIYJ@+RZ[(VF6K9IX1XE2''_-H7<(F
M,STZ8/L^].1H:30H;=P!\<7%1QA.%_,X)[,Z*LW+D HRE>JH-(F%!5TTPZQ<
M,(&\/MWD6JL3NN]#:4Z02(.*E!T@E]<L6L4:3?$,E+-,AQB8QT J+:4IY*TH
M$QKU8-P-ZEP7GG>A&H>S?M<7G+/I?/"F)D@OHNB9TSY76QLY;Y%I52SSD7A!
M49)!RT/"+E4I]- KND*_V]23:V^]JTO+_F0X.97+'NV/KR!6@>LN, ZX=.PN
MVOZO"FZ_4CQ! ILR/(&^AM+TAC1/2<V4K;4*X)&19T^8 B=[5JN,LLN&?C^D
MN..JKW\A'L):S\+[E9BZN+Q8WR(9(W6)GLDB>>UQJEE0.;$Z4H3^Q.6B>]M?
MK[WY?);92=Q/^B"N1Q=_ 00^7P$B,#IAR+QSIN;;9VN8]TFQ@ JD%3%CZA*Y
MZB;!JV]^@!(\FKB=WV"_%ZB+.:!/9C.<'Q/TO?JO^XCR[D2S.1\G)*^4,LFE
M2.1[T*!-R0Y2X#G)/-@!['ARCK[FN?F,GHGJ<%UC?7'HLP+Z'VT%CQ%55D:8
M.CI,6SNX^;B^,E67ES^_XOS#)%]IKO[- _'"<Q,*.1_<"*83E_0YA,S(+8E(
M M9:-1G\VQUB3QGCLW>35;K&WW"4WTU^A?GEM%YDUK$'R_SBL$@(=(E!K@8W
M+XZ!(_3*:&^32I*WB85U1GC^X$8C3=J1%]ZSC!H$VE^0YSNEM5_IV%P*@L6L
M6)1 9U-QM6.SM(Q.*JE3*1!2D_S;FU >K7J<R'J#T/KKZ20AYMDO1$F]'MI)
MP("455J?,G,R&*8UV8X1G&2J&B$I9\ESDPVV,\)'JS5M9-0@[+X=UJO?QSB=
M?1A^_#:(9Q!#L>A39$'7P0.A6K!<D@]B;0K926%SD\N\S@@?K3*UD5&#8/R-
MHW27TA<)FLQ/1<LWH5X:".;I(V UD:C:IC%NMJ9K9.U\=_M2"PDU:,QQ*QW+
M,+63Y,M(0=AX[=:GA6?@16+)*%3&<(FY24UE-WCGNNHYD^XTD,E]N/ZY;5DW
M_Q2QMI]<UET4EY..BKD@JDL@@?EL)1,:78Y!@W%=.JQVBH>= O3N*^/ZTYG)
M'<BNY[#X+ESKXJP.R/J^M-H/Z?SW6.<3[:2I7,ZK.<74">P&F>&:CFV3R9N(
MWK 4K2M>2E52%\/JWFK,GCNS^Z@PAXBC][Z*B1[SM;AK_N7E\&(XQ[RZC]"E
MT%%O:[ND6O(N(^V]3DCF>.9HP$>.&P?7KF&V>]YRWDN;/F4Q:4+DF2KCOLZX
MJ';?9#6"\HC[B^W/Z>,.HP/"C7L,Q1&UMD@>;M)UYABW*4.!)((HPOK!K6#[
M(/'HJZ!]3VM&:(?K(2U2*,8#YQYU!.XC>*Z<24IHZ4W:3FLO%T4OM\Q'_>:H
M1!VM(%PL2ZAES"JSX$)DUEM;BUD5B":>W5Y4+>;ZKJZ);PZ$-87[5 BDJ%WM
MM)>9Q<SKJ&N(2:N0O&U2)'((R//'2?K3FB[S>GL13O-!03_#;#A[^W&*D%^-
M_PNFP^I3O8$YB@&W1A/4R&(PFFE!=@T$8UBT7M!^*IQMTP:H*\#'I$!-A-)\
M7,S7^RV"]KP4K"6U>"6DC+7W87*.H>#$" ?+O'*"84C)"132MLFA/@CEXU6C
M/L73X/KHY63\_AU.+Z[2,4#AH 0>F"PFUXPIRP*2<5RRCTJ';, UB>YO _.8
M-.-DLAM<^6Q;[9XI]T9&*UTR3($6I*Z:L\"59Y"2S:4D5+G)1*K#8#XJI6DG
MH ;W/MO0+D/$R7'(8'Q-ON$$S!H6M.'T6^M30B%4I\S37C3GK+<[YU6-P\F^
MZSN<K_4L-T?&HA'>>\RLB%A'@Q7+P.::R6M!&/)O56AR$-V?F=L]B?CV>=J'
M4-VBW'C;G-@NF+[;>=H'":S+..5CV#Z7)H T3B@OR4FOW=&"K^%:12BE*09M
MB &_NWG:O2O (20WF;JQ;[*S!A.ECN1DAU1G(A4D/XE\;HU&!V'!@FZ2*?L0
MYFD?)+B#YFD?PGKS,-ER=%KV=80#,"\Y'7M"+0Y 65L]UVE9!$F?(9SQ^$R"
M$ZEN$)K8.3"V"Z[O>E;V08+K.A[Y&-:;!S^OCA&.67-TP *4ZDBYPJ(@;\I:
M- YE<@;.$"F_?[.RFRC#(63WG!>Q?>QS27%Q6<^,*Z[.#5(LU( JT)$5%''@
MC.F0#G'O9V4?PONML[(/(:W%3(P/D^F\QD/K<K].!"O22AYL9%G7"5 R:N83
M)Z45 :W@)IG2Q-3?BN9QG?&G$]X@ 'T#U#K=IP.LEJ?\#EQW<\CW(+G;=.$$
MVAL<\[O@F8 2DW0L*AZ9SKG6\<? HO%HI4\%-EM0/D!MN.60/Y\R',)V R5X
MB?,Y3M?[X'J<GQ(@+2%)3BNF$W 6$I)Y(X(+M/N!*FUNH+: N8,RHSXDM7F-
M<"K-/7<L^=8\QX3"K<K ;+3 M"MU'D*B1=*)%R5D$X/M(.N'T<^KWS/_>")[
MO!7<;,72!<8C;>9UD 1V]($ZAKZ&S;S(Z5 9M68@-<&IC16"M8[^HP&5BBI"
MEY#L_9!BIV9>?0CQ$-::-O/*TA<3?6"^U)MGGB(#QRW31H0H!(#(70(F#ZF9
MUT'<[VSF=0AQ39MY.5N2\IS3&6W<LI])5$6PX@)(+ %BZ5+1_Y":>1TMP:.)
M:V#77LTF7>PK2JN22_9D757KK28!0DB:N8@DBA@3FBYVSL$V[2:0QV'Z]$+S
M3;&;/L6^,MN[(&H9Y+@)Z6[B&Z>):H_<3^"Y\8>_=MSH($FJ&)9DK6H#@W4O
M,ZR0TCMRZ>L9\Y E?TLLH[7@#Z&W2:LG8J+"61T\U1V'NC#):X]^Z0D.9,W(
MO<XB!?2YZ!;2WL!Q_KC%J:*YT9[I>%X;W&2\G(SS9+Q(]8\P_N>K4I#.LHKO
MY8N?7[U9NV_9N6A"9B;5Y(P A93< 4.+@=MD9 Q=NN<>DU9_.[H'KQ+]R^!,
M;5Q?C.F7^ X^OYY./@VO&DH'U*=N>4@?9:FW8=NH1A6:/CV?M0]2:!=2$"9X
M[X,E.PT@X& _S).).[J\=^>CVI#8H;#7)3#6F1+()]$*O;<BH$(@:QBDP[2%
MRI,G\CV'Z7A1(X_3Q1# (XB\\8@^"-R/:X,X+E2QB51.8M0"#$1(,69R'",H
MI<5@'\03"3MZ#NN.![4@K\,,5F\,2@2B,((VF*.FCYJCR!JB=-S?H/#D":R;
M#WPZN?AX.5_,-9J46HF9UC\!X_QL.+J<8][\-\]@#D=O #T#:"&X/CG9$'B4
MH=B VI?@=,841<Q)*_ AD\2!WQ!X?_2<J"C]SG4]Y.DM1'SL3-= MF\=."JC
MX7189. N<&ZXTZE@D/&&_-I,='V),#MJ^UO]PSXHW89A<UJWJDW4N71>:IU"
M"%8Y*XR6A3X"+G!P$\Y11!Q]&ES[Y_V1TF'GCT&"QVP=#T4G8R. =L6J)(HO
M@NO!+FA'$;1'"X^G;>]#^R.S._9-P\YH%7G),G+4Q22O F)*=,BFD(GL08?G
MGYI6,9LA+E[S#&=I.ORX8F%5DL@]QSH4F@DLG&GER$?2L;!4BI/)H,FB24CJ
M%ERG9Y/4Q[_ZB%/B<OQ^\9Z:2?&JK,=G#1R=?$)9Q3AR58LQ"XOH'',(6IID
M>.9-<HAOAW8'%<T]:LG-C)->1=$BHK,%X1L<X^\PJD ']/I$*[6LB#I4)BO+
MH@^%\2B\ R.XDDV::=^"Z_&KR;%":)*>1GCJR+V!<&1%&"%9+&"9!N0L1*^8
M,]Z SJ2XIM&^L4+PV.1^#+$MNJ/0(B?3W0KH$YE&Q1(\<I8(7D 6@Y9UD$0U
M,069DVTBNOMQ/39MZ$\(#?+7W]1&/J-E-.XW<H?7. ?H;! E)U82.L)5"@,4
MB449P;AHD4S %LJQ"]#CTHI>:&_1 &7KFI?)#-)ZK0Q9,DDC,HU54U4 9J4H
M*4AO3&Q2N[H'T]F:H#0W$TZG_*X;H5S/-736F!RS8E:@)T9L8AZ,98D'J:56
M//(NE0X/)/>Y+Q%NS7X^A,J&^;)=8#S2[.>#)+ C<?88^AI*$XI+(0.R9#.=
M,RZY.LU5,TC" 9U!67<:IW0_I-@I^[D/(1["6M/L9P%<"IXCDQITG<@K6  #
MM>^B(#NRN.@?6_;S0=SOS'X^A+BFV<\!I74J&\9#)N_?Z9J&;34K63HI>9(B
M=LFE>DC9ST=+\&CBSI0#LXQYKR= 3,JH_CY-9O-3;P/V/+*_NX"NN#=N I)V
M)?+LDK%2AYR\1Q6R!*M-5E'DP2%+Z(/P&2S&",,XCX80:Q;V$&<]2V#O.YJ)
MI/O*-B_$M(XHH@\R^SHS#8K/BGLM.'U$WOOM,NJZR!.%-JFCGX??KH>F.((Y
MYOED":(_R75\40OQ';/&S1LW+CRYCS)K+71R)61/_S6TT8&+6-0-&1Z^W*,$
MN9Y0O%*:'K^YVY_<GZ@.7,7F'BB5*8@00W!:9 2CLBW:%*-!&AL'1RSHQ*^J
M7-*[\&)I]'R-*TT7\:;A(M[4WX?5_5TMOJTC5[JY18J(O- ."1ATXC&@=S(&
M4+R0U^[,C<_KJ$4?*-1%ELO/]-Y<4Y7(S5E\R$=(;,>#^A!'%XR;R8W)Y!H0
M<XJV,L[)\ X^EFP$\1Q,*H/;X?9"Y-&I+7L?UX[4#JDOQ7@MO2I0I-"13@:N
M@W=*2/H_YT#OH/;D5)CMCSTZA6WOX]H1W"6C640@;S'Z9+4.7(*&8%S.ML[9
M(H=F!\&]S"IZ3LQ-OB"^Q>FG8<+M;WHR6CR(?O6JU*%A[\?#?V%^3:; )-?;
MR"MC6(UWA5PNP;25BERH2#X88*Y5BEBXTP%+:A')[WD=IUYVK-Z$>3N0YY_K
M+W%0K-,^D=M*6Q:Q%02Q976JS<9<B#E $$V2);K!._^]V%UJX^;E20,1MF@5
M]VTV9"_<+6\6K-796J,9!I&9EL4PB,HP2[N^B$YB0&RAETU6<ZZ;O/NDO'>O
M%G=]9[AF8GD1_G9.7W)]W,O5.A=Q>UV2Y DY4PD-?<!",! @F40R=90H48@F
M:KX'TST89WU7"C-I([@&^6T[H*UJ-;N :]FZ8"^ZN^EBT)LLN^G("8(XN[84
M^BH@:<5R\+35AZR83X:SG)3(RI#3Y9M,_[D#+;FEX\'=*,DA_/?=L)DVRE?E
M[:3,?Z<]=K7?SGXE5.0>PCCADW%^>QF_9GW,5M=4*6KN%$'&7,@P$!I8M-$R
M73!+%Y3WBM_B#)_P^O-[!3T*<')>]EL8_#BBOWK_5QSC%$:$\4FN </9O 8+
M/^'*+5F#C>AUB-XQ9U2L7:%X31@&^JT44GD!3C29$W40RL>@4>W%<Z8+Y[=+
MLQO&^<WR<N=*E=4Q4;=]C^LEZM89[V9T'L&E2$P[E33(Y+4+QO#BD ,/+@VZ
M0N^1X..CQ[<_M#79'2+)H::?:^%++$F7&#ROW7=%L=IS;]1^RD^/)^]Y>+_5
MTL>^J;6(CJVB%@5XO1GFM<&@$=K7;)CLK(<84A)NK]SVO?34HW#QUC?X<3*M
M%V57GO\MB@*6#'SA$J/#F2Q'*R0#4CR&)2H%!I'G)L4&7<"=8CS^=EE/D%?E
MY\L9/6XV^SMI"]G)5@81A&7%5Y-$T&H]%YI)[5P0M>)#ZPZFX=:'WT%/[[X%
M?-7^.YW !M;=&M1RR77'6W$P&Q@;,9'[PZS!P+2WBD4-=1QR (^"JRR;M,+<
M#>D1*43/_+>8^_ U0+>'A)^_K/YR&7YSB#Y9J9DH-9]16,N"39*YXDJ!@$ZW
M*:LY NNY@O3--:BUG.Y+7/VK\[3>/]<?RG*V%EEZ-@9##"9-KC'WC-PH8*G>
M<2L90S!M-&\?JKN/K3=2B4T5[$TT+?:Q)9;U[+P.8)K.,KJ*YHXF&/4GK1NQ
MB%.I;B[_2$X&N82FVE<$2MK,0(G"8-&'/ ,'U23Z?0:YWS:KZ$QB/X3AGN/;
MSVO+T8_3X0S74=;U\%SI9<YTH&H@TUI;.FFC)V RBX+""J^%ZN"E['K^G=FE
MQU ^Z9FOG4[)^<*$WQ):OYYWGW!\B37M?]6M8#*>-8FN'/3JUN&6XWG8B+_D
MXHQ74AE-WJ<6SBL1?$H0@L  4N^-OQR$X@P!&0D\</HR6 K!DQ]5&PWS BQ[
M+ XCN=FJ36Y1PX#,M]X+"VI_H0UBW:_I'\/YAZ>7L_GD J?//Z?19:9W/YG-
M:EUW?@>?![GXJ#49>09$_<(C.1MH!.,^\2($[1:I2<;D$5COJ<-_B$9MF?+>
M5&(-8D1?&[XL;[%>3F:S@:,#)BA(3#HGF-8RLF@,9Y'3"<&M,&B;]%G:@N41
M*LFIC-^3<!#9]HYSD,P+J*FJSC*0TC&G I8B58KVCW!0SZK36DYW'0ZJ1=2O
MIY-\F>:OIJLDBH4'$Y.U@N? DJRI?\61!Y.B8\K*J&+24G5J\M2I"'T;@(<4
M[#E(X),>B>^YD<0*SZQFSJSR:=8N40=0?7=XV8GF_/U>3A?43:GWQ/+95""C
M\")+SXS.0$YLKI-H?*C=BA!\K!![&XIY9M'O:1)S)LD?0FZ+AI\$93Q;ARM$
M1K*/=60BECH&DCL&QB;F,)#/ZB K95K8&==0G+<724^2V>S?=C2M+1(/K^1"
MTC*?#NE('"U.LQ4^+TH1SA1F56U'II-FL5C#C)!1ZB(4E"9BOPW88]"$7LEO
ML &\P_1A/!E-WG]9+7H%JS@C@O;D%LE$.FN38)%TE4EIE.5&6]^F#^P./(]!
M%?J@ND%'X"N)T^M$:<6C$E8RY76-6H? ?#2Y!DR"=M'&T&:DWPTDCT'JI]';
M8W??>E'QY./'*0QG,/J:-;^$I#28**Q@I6C+-'HD992666>S<EH;-!OES%OO
M=78\_B&+L2_6&O3E72UT;62XHI0C^T(&G9A61;$8HF<\.)UR(C"V2;KD-10/
M6=*GT]KC@.6ZO*>3\6PR&N:%M; (:"U\$.Z@X*)%GA!D,&2;67"T0$/_30ET
ME+Q+94@G=VP[A.\A0M,#^3V>U=L1K92]"Z:^0S2[P)P_0M.'H/;*_026>P[1
M[,2&F>?L0V+($VUWL=3M#ARSL0Z92#&8_D*VYY7\G@#-N01_"+D-'+2O5UCK
M-*/5P81*$3!=&+=!,NTP,Y\(I4O!D5FBZYR\IA>'U_&<]^3O1UB[+@M/8+I!
M^&8Q_WEUV?-\-+P8CJ^&#W@@=\%I(''50D2I:\FCCBRZY#EXXXIN,MEL+ZI'
MH S]L=Y@3W@ZF9+A _,Z)F2EK"M@.2B;P%L6%[H*9+,2)F26%EZX5UQ D[3,
MG8@>@2KTPW:/UF#U26]L5C6XN!LH>:H@4+!L7>U(1$Y1]%XR%WF4(2JB82/"
MN]6_/^BE#UCR;0EN,+%I?TZRC,GX@.2TJB#J)!K-@I*26:LTYB!UQ/)'34?/
M3F3_HFFA-]?2G[N ^:YK.@Z2UM[D_F.H;E[3(2R]FHO,$NK -*I H(IA14N1
M@K8NZB[SF>ZCW$^JZ>A/[(<P?*Z:#I!.E1B!H:-34A=:8DPN,LR@@LS:2$P=
M;(/[6M-Q$.5=:CH.X:M'=_#:1039(N_@\QH0Y\XFB\PX+$Q[;9EW,;"HBTS:
MI)BM[2# K0]_J-([G:E[T+6G]F<<I^%HN/C=I&QD,U?NUOO4?/+- ,;<I$+G
M5#2MBW9Z96NCCD>1V\#1: '!Z9AL)'L?C$_.F3JQ+^RMXSD5V#EZK0@79+*9
M#*3DF;8ZLB!-O=.,&IU,/O(F-_[G*.W95@/ 511%6\Z$MO5$+[1>D2S+BFOT
M(D&634IW'D[5Q2$:T:7JXA#&&P11GUS4M?YKU?CV1?U2WP_)M7NRF&HTX#%H
MXY1F=*J(VNXVT9FN#$F0#+]2$L]MJG#VPWJ$JM&C'%K<M=0I25='+R\5>-TQ
M7CB790B&,)'Z:C".>4L+=TH6&YRUUC5I^K\?UB/4DA[ET"!A[MNNMBX^'(XO
M">2WFMR?D0C!Y<^1]8FSYY_G4Z#W#\<P_;+@AU97"WJ(]M%B?>1LX&P^L+YX
MLL@6%>B2:5&W20^<D=$AK;+DA*HF:9<-U_0(]?.^:$"+B. 1X5&3G3*@,W.E
MAMC1&P8.)2O6&' .:R?Y)M;C R]//$4%6\OI/I0G[LCP\*H4DZ$P#-8P;81C
M$(-B+A";Q417-KMH?\\)< <)_?8$N$/(/U?Z4Q=,WUT"W$&"ZI('=0S+Y](
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
M$KN< -]#N>(1!F'_,F@0H[E>&](%S'==KGB0M/;6K1U#=?-RQ9@PJ"1(+B7
M,D?#<XW,>RYX;8L:H4O'FOLH]Y/*%7L4^P$,GZU<D7Y.6F.8X9I6E[1E(9?"
M>)))"Y0A=8K/W]=RQ8,H[U2N> !?9RE7%&2GA"0D$P(LF2[&L1 R9SPG5:>L
MQZ*[U /=RW+%8Z5W.E/W+ FM[_K%/EY[SK2:HRL<E9.%&\7)D[<ZE0C1"0U6
MJQP\Q. Z)]<T+'G\>LM2=9Z<R:T GG_^B&F.>3U:[BW]Z:Q 6I&^"GEK+CSY
MEHO6Y9SIDLBCJ4UO"SCC<DY%R2;7:/TMH:<A\?N1T!\FVF7@/0ZD]"HC^6BV
M6/+1HJ%S7GC)3/%":@/!V"9!D0-QGG\GOB.MW#%&OHD\&X1>3F:-_L%PDL4
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
MSI-NZ:>:@?V3@,GD#GOS_$HU?>9T:89=<>U.KKZ\7<N[JKU+5$0E/!8I1)%
M$*5,0ASJ-PB-8\KB4&:2(Y?W1K^XV;&^_%(S1KG5%N1&73?R/X.Q'77[0V[L
M#7\+VHZBH-9TA-M<.U!\DN(9B9-2FIWU^X1D^:EA='+LLJ;;ISZVESHM@_U#
MB@4+(T%21J$( PP1SQ+(TBB%*1::7)* 1"I='$39GUTK;EI8K1V[Q *_-YD;
MHC<'E$(J69JXK;+1WXV"'.?%CI)&@'FB+>_1>^&KS2G8XQ7H[I&W^OMCK6&X
M^60Q1PTF9;5AZ.RSW,!1W&]A^@45R^6;HOQ.2['@,@BE( @&&<GT/CQ"$">A
M@I)&+(@3$A%J=87L(G1N#M5FX?WU24#&1G7[ W]KV,]?KXP!YE0$=@)'\+O1
M&[2*.]RC6,-J?WLR!KP3W9GX@MGIFL05KY[+$>NA)KL2<35N]R+$^;/#7-CN
M1.B5;/[7!#W+>[U=?]5Z8&V4]/5*W*Z_RK*YCUD$B*6*X03R.-;TCDS2G(@$
M3#!/,,E4J'^SV,UC/.M>#5-D@#<[,NFW6G?)(<WM>F$T!OQ!VZ'WBLVUNYM+
M.W">[%S;$;&?Y@VQ.==\T9GP4Y/QT<Q%JWX]%;4![66P/R?W,@1].KL#-9G4
MZ;T,K7WG]\+1AO'FSG7T3;.L%U&(XT#2&*H$Z>T]P3&D3%$8$8$$33(4F]/#
M39KT^>S7 Q%.#NZ)M&^?RZ[.^=[0FG,(40^6=KQU&4(C<]*.<E>@5<]C8N])
MT[UF[AY*F38U]Z25![FWIY\<ZABM]6SF;"D;OG@OUYL,L3\5A?B>+Y>+(,()
MH5CC%A,%D9()))2F,$MD*+!B41 [9<_:")W;+K=YH>8;S?6W?25/?].'@VWK
MR_B%<'3/I5.W]4FN@-9X-X6U4]ICRJH+1GY]$PNY$WLB]D@<^AT.GW4/3FNC
MIA_#B'W.UTNY($DJXS@)(&:A)AN:I!!'L8(8$9(E3#&BK /4]@>?&ZG42IF+
M@#!ZP7[J,@$L3\R.HM?/'I=B,C)+N,+A%+YVRNX+0M@.AIPLC.V4,;NA;">?
MN2ROZDU1U@GC4E0FDZM^+[Y=?9/5NDXJ7^??FJR>%!&&4A7"#)E 4YXAR&(5
M:*=!I7' 4DYBXG9VXJC!_ Y-7G1[N)^ :'=Q9O]>'YL,2ZZRG0P[IV(,@"=.
MM#(17R\ZY>N$T9_:LY"- 6!K@?^$*T?HQDB[LE7A69*O'/$YE8+E.LPPRJL#
M1-]6U8,4KS25KKZTE2%-9%?U^NY^63Q*63_495!^T-_*:I$%09C(3$'.)(=(
M9AABI3!,211PBCG+4."R7QJHQ]R\'6.!*3UJWO!5K3NX?RC-[]8F05*VAH"J
MCLN][Y)2[_4@X(7FR>8SIS<(7N=042+UUTM"3$D"44PS\_K"D"08RPB+5!*^
M^"9+5LQH%G?U&6\>7^]-E)F?;K:JZ6?*[MTV ?HCO^.:</7&!-#8 !HCVI!H
MO:G>3$WS\":QN[;%W]ON0C!]OO6&JC+IV^]"O/;?@I<.-R @YN'N84GU:U6^
M5DKR=2/P5EV+XMY<UU__R/5K+PQ%'/$ )JGF342B!%)N*NU)PG"68AS1Q#H8
MQD+@W-YO6YU!H_15NS[-"Z]3'/QN5'>)WK"!OI\#QP!T9+)[1BP=HF \8SI5
M!(P-MI[B7AP0ZHMYL1EFNG@7!Z.>Q+JX?&[8CN4U+5?Z?5#IH>NWP:8T%!,X
MR3*]$2$XI1 %,M'N;""A4*$22",08>ZR)3DE:&Z<W.D)[DUD2G%W5[3>Z1_=
MG-.3P-IYGS[@&IEQ-TAI'1M_<I2:6N>0\.D;GI0UJ?-WSN)][^[L\P/<MU**
M?'W]I91UAF2;H\0E33E3,0Q330>(1Q32-$YA2H(T"8.$XM2Z<,Q1"7,C@T9)
ML-'2P7$X"J"%UW4I+&.[67N(G$_GLH3&P8FZ%**IO*8]J'[VY"'UF=_G$AW]
MW'0^4)_:3YR>W@<'1J4=J4#_4:[D=[K\+,N[1:(818P(F&%3&"&@!%(9(LA2
M'J)$A:%FN$M[7>S(FQO-=3T9BDU/AKH0%B@;E8'6X>[RSA>[@-LY01YA')D6
M3W:U:-4%G_L@]-*^X@@P8S>KV!7Y[*TICMAOTXCBV,>&D<QG<S_[4#[6YVC-
MT=H"1UBR, I@C .SBR*:6")*(6&:FEE"(JRD"[$<D3$W,NE4; _[7PPZVC^&
MI1UG7(C0R#RQ :=6KSN&]T<,/=;[)(-C8B8E@!X[]Q=]WZ.7E-O\]'!_OZQ=
M%+I\NU)%>=?6ZU@V;;^:.FU[Y09EH!B6*8))H%%%F&/((LQAFJD(8RJ)E-;I
MGY>I,C?:V"W#6>W8 _*M0=HAJ2TRE[]-J<XAM2$'3=SYG=MTTS'VM>%.C<A=
M4\".+: U!GPNNCJ2?@IW#IJ<(44\QYZD9RCH.<YD#:SN>0F^5I4^!PEXAJJ?
MEP!QO +H12.ZO_)^_?#G8BGJ T9J$DC>KOC/@M%?<PW&!\J[ QR&>9@I)6#(
M$(<H0PB2$(>0Q"1F&0^C)+9^M=F)G-LK;*.>/?%98GO^[>,?L9'?,K]^ )W&
MH%&Y+L/W,]!:@XW: XX7+2&U?V?XAW:B=X,OB)W> &YH]3"]Y4"3,;J;8;O,
M[?C)X4><4CX]V]C41>@Z#NSY34D:<,5D JF*8HC22$ <RPBF/$DB%04Q3ISZ
MF0S086X<OKL-V3\.[1IPN!^%NDZ,_?'HB'!/<&0JY9$CTYWZ6YT1H_BK'F#T
M?<#JJL;DAZX#<3IV$#MTJ&'T^%Y^O^:\>%@9>1_*8J5_Y+4/77THECE_;/Z[
M78(T$S3B/(",Q E$.,:0F0;OA-(D"D.61;%3_(NK G,C1M.D>;5>/@)J@H_T
M9O+^B0UNG.@\&W:$.";&([.A5AUL=0=/E;\"C>+@]_9_1^'!H>CY)$%G'29E
MP*$([=/?X'&&EF.MUK?*I%Z;AB%M'>GJD_9)%P%FF0I0"DDJ0HB0""#&VA<4
M,0FR@"4L$DZ%&DZ+FAN?M35:3*UW[>JUY50=::P'6#O"\@/7R-1TTV)4JUG7
MBNH4!493GQ51SZ'AM_KI26D35SH]9_5A5=.SGW _Y3O3:[/[71V]P62<Q$)(
M[1'1%**8$^TE40(CO8.,LIC&2@C;HSX'N7.CD$UA2/OX&%>DSQ_\C83?R)S2
M%59^\Z1![U^?%F+>_+XW>.8B?.U/ 4?">:*C0(]X.YT&#D"MYTC09;3)S@4'
MF+A[.#CDXX-+FNH1WQ55U0G+5P_: 6VWX<6J>BE54<KFN<_TAZQ>_]#"M8Q\
M1<O'NC_ >PV(4:E8+DW+@)6F/EFM%XQ+IA+],@BS5/N1S'1&CE@"J1!(9)@@
M(9E+C;\1=75ZBTQ0++ Q ;#:'I W_UH;BYPKH8XVO0D/XB!# H8)05!/)H84
MIPS*)(FX5'&"4Z?#D+E,[Q0U#/X;3*_=9F4FDS:R9]+.UPMCYT]U/1BP-15L
M;>UFM'V^-O<*/#4/=/9Y+:@[]B1XKKH[FKI3E^8=&_<C]7M'%SF@-VQ31?1-
M7G&Z_)NDY>N5>$77<J$$9YC'"0R$R""2,8),I0E4:4 916DH%;/N$WM"R-S(
MO=43-(H"HRG0J@*CJT,'V5.0]O.R+Z#&/CX:@I%;G]DS(%S2<_;4T-/UGSUC
MW)->M.>>'=B7MNDUW24PIU)*)/1"CS%)(5(DA"Q1^C]A0),$AX+$3CD-3X>?
MVQ*__O3I]>=/CGU>GP)&I=X !6D$(TFH]IXI@SA,,BA-74,E4RDBY%89:CAD
MTQ1\:O1SS)C?0\W.*1V.Q,BTUR@V2D;\<9N]-GU]*F':%JU'K3MHJ'K\J6$$
M9^ZV\V\FW*#Z7%*Q[8C07-)5V[]?+Y?%=U.2[DU1OBH>V%H]++NGFDN[!<-1
M)(3V?C038E,'CD.64@1I(E/,&,89<VJR[5.YN9'KYL21T:51W'%/['7>[/CF
MN69C]//XC5E7H#9LMRE,JS78/G4%-N;5%50[ S?/3A.R,,9L^.11K_I-RL)C
M(+O/X:/(\%<@H"L=^[EX*1M5I/BLU9-4K4U3[(B%)$LX%)Q$$#&<0DHY@X0&
M+"$\3F/EQ//N*LR-S;>:75XLX SX=F0]+J0C4_+)D@*;TM7K C ).B,T;Y_'
MWTNE 3L(QRX^<$:+9Z]'8(>238D"RY$&5NDOVVY@3?E/6MZ6G]8FC^PO=/D@
MNY)2"QS'B31W>P1C!A$--=&9N+&(,2%I+!1B3H%B=F+GQG ;K9OB!E?@GI;@
MF]$8O'BH1%TSKJYWX%CNP'(2[%C//[0C,]T6U;8J@M99?X=!HS6HU=X6F?-8
M@M\)**^5]^TD3UMPWPF-@SK[;I\>ND]O4E[-?<?[8K7)SUD0AED24P89%P@B
M*?1/88@A2Q!"3#.7BHC;GONXH+GQT<>N1()1U'7O? )+VWWPY0B-OJ=M$^&-
MCO75[$9+GSO0?AS\[B9/R)IX9]AO\>$N[\SS R\EVNW?^V(MJW<%79E8V#?Y
M2N\2]> [6\N7CR_S^O+3\-%#]5F+JZLV$TYXFO 0,LFT1Y,@KK=N6$&N'1S,
MDT@*:55\W)="<^.65DG0:*EW%UJ"4_UL;S-E>1,P(?XC,]<0Z-UO$3SAY?7>
MX5*=IKVI\(3@P=V&KW&',>O3S>=?9?[EJ_;CKK_IWW[1^\\[FJ^Z/YJHU' 1
MB)!$3$F( ZD@BDBB?\(2DB@609+$B!"K=("A"LR-.3N- 6U4!F6G<YM(;O(%
MP(M'24O7NGC.<V/'G6,B/C)7'AR/;=!OU0<;_9LG/)?B' J=3]ITUF%2FAR*
MT#XM#AYG& WN"7C_8(ITW*I7^?)!_[8I)'C[L*[6=&5J>RR" $<I3SB,XL#<
M^Z8)9$PE,,D2A)7>A&8B= F!=Y3O1((3A+6_DJOB3K^S].JI;PA%HS>0N_T5
MZK,R ,&U^,^'ROSU>VLT[*BS;?LVN$>8ZRS:\>6(<S,R71ZP8Z.[R>]LU 8[
M>E^!UB)_=#D0.9]LZ:K"I&0Y$)]]KAPZS(""J(5:?]?#=6FHOVH:7DOCJTH]
M]J<'5O$RK[O55&WEK4BD1*) Z/FA,40!#R#-0@4)XBA*J/Z94.L:J*[2Y^8K
M=@: JK7@"MQM;:B#,*I=*QQJ:CI/3#_WC0[WR,RW0?K3!NE?]Y!^8L" TG/N
MD#M4+AT3^JF*E7J? K?BI$,A[*M'ZCSF="5(AYK[I.KHX$'<4TM>K];Y^O%:
M"/V=JSX4^N6T_'_S^YM"R 5!22R3)-43P./F@@>'F$(>D33B*F,LP[;)):?%
MS.WET&@*6E5-2)U1%FAM@5'7/L.D!]E^TO>'U\CL/A0JIT23\TA<D&K2,_AD
MR2;G#=Q--[%X>F@TGM[#FRHGBX2$$J$PU*L]51"E"D'"TAAFB<0I#REB@552
MV<'(<UOJVV.L97.,92H3N8;1=:@%B@0941)RI2A$F'%3UY- B26*LC1+8]/.
MR/XH8AAJ$QPRO)?K]DCU$KCL]OR#0!B9]=HCSYL^XP>$_.T9ZC>2KQM\X@"]
M/9L.X^[V'QA&79^^%F5=K..59&MS(?.J,/NYA< HQ23"T+2VABC)$HBQP%"@
M3(59$L5IX'1'<D+.W&BM5A/6]QU&T>8JTVV=GD+4;M5ZP&GL?>DQB,#OC9X>
M[WO/(.%SD9\2->F2/V/O/@&<>WQP9IG6-E_F]<[Z5FU>\Q_*0N7K+KG_D_S2
M1OC>Z(U4L<Q%W<EA4_XT%4HHQAA40<H@BL((L@A1F*1IK&E$;W](Z)A3YD&M
MN9'-4ZN>5O!N"Z_4]3RJUBP30,]W#'-./O,QM78T-OV$C<QZAW.U]8 ;FYZ4
M8/FT,V6[IHU:&-POZ)[SRGQH-G5&F4<TC^22^1Q]:)'Q]0VMOFJ1WW(AQ<O'
MWRHIWJXVH3O7?)U_R]>YK(Y5<]EDOJ,$ARC,0JAX8"Y(: 1IHC!4,<MDBM,@
M39QR+?RH-3>V-R8!M2R^5PU%J,X<0#?V.%8@\#1_=I0^_:R,3.EF,UY/2F<2
M8(_@A;%*OWU_ AO#P-:RJQ.UM<:HFN 7;[]%S[UH-G$I=)]H'A9(]SKZP%/(
M?"5O5=.._ WE;6^*'_G=P]W+HBR+[UKH#=6+0?]^H7A&0AP(F"IILH$1@53S
M- Q8P-,HP@PG3A42783/C9D_RF_%\IM9TKS6'ZC6 '.W79L 6&<#X*T1CH=W
M+G-C>;XW$N)C'P%JM8W[W"@.WFR@;G4'&^7!S3FHW8\*!V#F]3311?ZT!XX#
MD#DXDQPRQM L8+-57C]^T-^M]?5*O/ZOA_S>>,J:B1=)+ @-L@RB* TTM\42
M8F2<TI@C',0R5:E3IDR?L+EQ6:=K'9P@.T6OP$HZ7C?T(FS'4+YP&YF1.C6O
M0*UHC=SK+7+O>Y ;D,)['A*_B;L]\B9.USUO^6&2KL5G!CI+Q4H4J[J^**.K
MO]\J)35O?=2[ZW=O7]Y^;,.=I"!((A[!3"5Z9YN$ A(L%90B#D5$(AQ(IW-,
M*ZESHY1WN?9^P$?K$J%N$%LZ.[Z!&]O+J?4%&X5!JW$-(WA1*_V3QW"Q03AY
M]6RL!$_KTKA@<>#+.'UX<$KPP]U#W02[KB-U4]S=E_*K7%7YM[9*<A=V&>M=
MF4PE1%SH_T@50$Q) AG"IJ13R)+$Z3;66O+<N&A'\;;8VQ/5P9-JZ,YIOY:S
M84=9HV \,FU=W]Z\!=?K=9FSAW5]4;$NVE;,(Y"5,T*>4W<MA4^=H^N&R9%D
M7,<!AI&7N79^NZK691V(_9)6>?5)"Z+B=O476N;FRV/8,ERP@,H@## D#"&(
M@A1!HE  0\EB<QD<9VGFPEVV@N=&7=W!Q]X9$\C;&O>@=/:PK.? CK'&0'9D
MPC(J@ZW.5Z#6&C1J ^V!=8KW^Z_.U.4*E4_FLI8]*7&Y(K+/6\Z?OZ0V_"*D
MDN,@2V!(<:(=*DU/6(8<HHSC4(8IC5/B$G':#.M$.1.$F_[/?P[3X%^;SJ&T
MUG!(A7.GRN8SXH;K?HL'EC$?Q1=I1GZ&LN4GO8BG?QW:P.V;?J_5\0M=J5S3
MWJ5I^M!^MQ3)9!S)5$,2Z>6G5 @)-T>WA(1,92*2@5,E- N9<W,,M'ZP55 [
M QOUZW/(HM[C#%F[-N#;+6S/D(Z\ZM_N(=CL$K<* ]^TX "/WTY5Y\5.W''*
M&H?#SE'V'QWXVJ\+-M02/LIZ<_2Y^$Q_F,Z57XNE22E_4S0E'[7G(879-.D=
M4Y/E2C,4R8C&D*- :0\A9I %^C\TPFD<<IX&*EVLY)<F,LO^#&:X2E;+C33+
M[4"Q\9;>Z[O[9?$HVW:!X)[FHBZE\=V8))>B*X[Q<*\=<W,W9:ZIOM-2_T&N
MU\NZH;RC@W+!M%IZ-2//TE0Q^UI!R(R&73EN<%V6^A'9;)M>2;TM-7E)9KZT
M?6#'0'#+EOF7VB2/SM3EN'KUP"Y09UJW[7+<#GP]#T,.39[^I'EA:4:DJ\>%
ME#R39A>6)H) %*(88H)3*'BJ_4 :*)58%=HX/OS<W+XV [A6$;0ZNF9(/X&O
MG] N!V5DCG+"8T :]#&S+TY_?C+HQ&G/QPPZ3'<^^I2/0HOO<LKJ$\P%";-
M"*&@WLRE$&&50,R##"8!)B@1B-%$NARFG) SM].5YERE2>==MDKFKBVA3F$:
M$R%C$C 8RY!!Q F#)%,*9H+%J79&%4F<3LU]8#I-PX+*."=-CX(G&5$C 6WG
M!GJ ;V3Z/*@KN5%RK-J1!RB,5R)R*^H9*T$>V-M?\/'P\0'-BXMOLMSD:7 2
M!23C",:1B0+ 60AQQ!,8RB@D.),H2ZVB  Y&GAL+U,KI_>,7^;-#5^(G6)UW
MA@8C,/)";HSWF5%RTMI+&@T_&6^Z[L+'S'C24OCH P/]G;JY6WW\]"JO^+*H
M'DJYS80-TH0B0@,88)E 1$T5T"B.(%(TBQ47>MOBE$+1+VYN:[1MM3C@9/H,
MK)8O9&]@C?U>WL$);%4%OX^2 FP'B]<7=;_$:=_75M8?O+;M/N7^]G[55BDT
MU1D6L=![)--^4<;<;)+2&)(0)S!F2*59%HD$6[5?W!]X;KS0Z>90.>4 J_,O
M[Z$(C+S8[8QW>G$?L_2"]_:3X29[;1\S8O>M??3O PL:\:]2/"SEK6ISYS_*
M^Z(T7OG;E2K*N_K<\N5C^\?M:X<&69J:HF.9H,H4/-)O<QY2&$BB0AE'G-+8
MJ>#1,#WFMIP[,\Q>O*U# DKY3:X>9'M#O4EC=2R3-'">[-R#"= ?^\IF!_A6
M3; Q NQ8<672UKLGQBPO<B&F7@LV#51EVH).E^%U4/#IPN%\A/F^;6-5323>
M:Z6D26LWS1*YJ<7\12ZR($AD%NHM4802<Q),(>.808)8E,9!K'=+3OE23M+G
M1IT;%4WKB%9'?]&^YZ;"CB=' WAL1VL_[K=3O8[SO0);[+?JCQ7]:XG:>"'
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
MS!;?9,D*FTXII\2X?.=WA8VZJ]MJVF2;.IZE]L+:S\"^H!K_\,$=(Z>F*N=
MN+3'RLGQ)VNY<L["W0XL9Y^]I!K1KW+]M1#;VJ2WWU?:"?J:W[>]#^@7N9!I
MQ),444@E32%"W-R[, )CB61((X8SY-0 S5KR['RW3D5S7=WJ"%ZT/UO6YG>'
MW^Z^9110Q][\-F60&J7!5NLKL$5ZJ[CO&DD.6/DOGV0C_!DJ*SE@<KSHDLL
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
MEJ]_\.6#J8%^754F;5=\IC\6+$ZH3"6%#">:LTC&( ZD]EEB'%$>(8JETPG
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
M2(G:P!31'[#^L8 7T$@5#GC\^)>)"+Q@Y,6@P$O7]R[OM'PRV[:?[YM@Y.K
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
M(#DJ@=1*N:4#*DD154GWZ/E3F^C-FG<C?F3?FB[$?:J%[/ +F^8WH#+P!&\
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
MP'/)!2(,4$W<\@=1"%AN-5 VS[G0T&H653#L@IRIL<[GX_V#.'ZYA&88IR3
M:& >V6FXBQ9.WHKD"@PIN>*2J%'YX8J]QYQP[?*^2YW?YH]F]=KQRY?EZN<,
M(E58*3"@$"& #25 2()!X?XPPE$#RX,\D O/G]J\;SSQ2L>L53)VZ7*(8.A:
MI3<NXRQ. B'IL10Y:_C-:X_#IXZ\V#AKTNGJXOQE?8OU;C8^8>CURNAY6WQ
ME0@9J@6PU+VS<0X-D+) 0!8<ZZ(DK"RC-B_/"9G:%*YU](< M9:Q=7O/P!CV
MVKX5G('G\3$N [RQNQ!(6]'WC)R1Z_I>MO2TNF_'M3UK*ZBO1C\_F@_6%P'?
M_/S=;+XN]5[E[_?;LE.J+)21' -5ZA)@C1'@B@A0.FJP2!I?N3NJOD*PZ*D1
M0ZNYGP*U[EFM?%#Y^UO'(8Q#AD%W8&8) G:@HF#Q@"4ML1 N?=PR"]&HG)1:
MB']"SSRGQVJ0C:YV,5Z)M=&OET_?S&)=A0J\_>%_-+.R),1P04".H&\^D%/
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
MG!3KC']"SXWU^5I\^;(R7ZJG?; -3]9Q/JK4E@E* 3;>*5&* :&%=)Z)+:&
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
MKLH=,I4;79FS=[U9W_E-097T,"T%ODDWC&[19]S=H03(G6P%I7AFNL;WV_/
MMOK>FV?S7T:L'MR(FQF2F' BB2->#0'6! .)/2/GC#I/G5!=R*BND;$:3(U\
MG:N (GM)1H,>QIJ#0CDP5=:ZWQW78CN(*6A-N,N<$9FW(JO,2-BMLB^"27M9
M1BLQ;J?+OAB=],'L_:"^7.<$^%WSJK/$@_FQ>>7L^N>,:(&M5 1 CC' V##
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
M$_@@'^=?JI>%;QNC?-:R8YO%EP_VL_OMVOI%SG+Q?KXP[S;F:3W# N:HP!1
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
ME<8-"DZ#WTG0<*+']N/7;83*>U^JJRW*-:^J>52"WCR;[984*W )K;6 %I(
M#"D!W% $1.E\-$TL<1P;0Z8QPJ?&G+N0LDKYR-/7*-C#Z'$H, ?FPO=FO39N
MM7N$YUX!P+N6(^\R9\(@VX=]L$O)@U'R1R6]/L@<,URO9_2CL_K;=%[@SSUQ
M_V7$ZN'/Y8Q9QI#*%2BULLX]9,HQFI0@9Y9P1VH*BJB.I)'RIT9J"*(\CLAB
M 0_CL@%AG Z=K6L^\S9DSHAT;-83O92$%JO"J)S6$Y]C6NO[F$O,MO\%>.]^
M^M__H_V-^\,O%O[W__C_ 5!+ P04    " "KAIU0=3O06UEI  #4H00 %
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
M:.C^I/)P<7:!AE<GN/Q,F^"_+Q=_K+^\6)Q\#?,?$^>UB"HX0%=-' \>:ID
M( G&%V<Y'S#/L9.$_=#1_1'E\>+M B4?O^!L=DY]MM9Y0Z"VM;)(8100E?=0
M4*H0'4LNN^%,QI4W[X>)CL\KCQ1F%U @PD]JF<@B_>WC%Y+;ZMWINEXGJ3'X
M! ,7DN<(@G.*OA/%68&1G$3B(2N5='%B,&C<1\E^4.GX9'-@88\,G6<G.,^U
M7O6W6?@\(5AGS6V 8%"0 ZTUQ$*"H7V348 >>+IT H] R;67[@>(CD\Y#Q=A
M)R7@OTU7*<S^"\/R-_K):H*B%*=4 >>,(_@6"]Z5"-(K36*1W/ AXM0[7K\?
M'CH^]AQ"K%TA8WO'8<M$9"JJ8@2P( C>6=40FQOREX1(Y%1GK8<X[+J3@/W0
MT?%1Z#"B[</A(#:68?9ZGO'[_X,_)I9[9S.Y2#J3WZQBSN U05T*KD(FE'LY
MX$'H]9?OAXO^3T"/$.G8-1/;0[A+JW=^*2I$BZ'(#(;5XUM4 9R)#(P7%$]Q
M'N0@Y;UWO7\_9'1\Y#F(8 <#Q[_\>DN.;^@'A]\A?_?VY:NW'U^]I&\^OGOS
M^N6S3Z]>?OQ$7W]_]?;3QW>_O7[[XMWOKZ[SL=\M\SV?/- ]]$/X./*F^ND*
M/H?P=5+O"9S@IB2O;BT7B%,V84FF0)2.@V()P<6BP7ID4?',E-YQH'R^\$I8
MQ0T8SEZS77TX6Z_.?W)S&?Z$GD.MR_EC+Q[X*<093HRP$KW4Y$!Q"4J(##%[
M 3(EQT64AJQC"^ZNDS'.7?<A-7]N:P80\XA;T&JYGKQ?+O)I6K];?L3EMVG"
M9]^GJPD3T2D=+1B+9"53E!!<DL"$#)8VURASV0,F]/PK$*%_W83'702,"Y!C
ME+D84+)](&/U;)[/.%B]7)R$Z7QBT2O/2J"E$4@B%A,XICGMREA8,;0SLQUG
MID?!XS85XV!D&,7>1LF14AX1*K2O3SXNROH/DML;(G^^PE68YP^+'V&VGN+J
M=]S4,NILC4D&(1=RYY0F%\PCMR ,HM"!>7&S<<(MYV2_-XV.BV-5N6@FUQ%1
M<F%;3^,J+:=?-_J8YQ?393J=;;1SQH\O+J&-%+U)GNN5_PC1Q@0V%V5LR+4L
MNHF'\A/"QNG(,CRLFBCB8&!1K!<7 QB@9^F_3Z?TTO,%<[XX;,Q6!PY&6^+!
M<9*-H4 2LQ L2J5#+'L8G=U/'Z<=2QM#,X#\.C NGRBZG"]FB\\_SL1RSD;P
MUA%LP7!/4@E(>S/' D&FK(7C+O =%Q*.MREWT#-.NY9VIF0(L7?BP)Q+Y7>2
MR1KGM:\@[;E7;>7YOELLC\RG!-FR HIB0XBH$)(2/&J2HN;I ?[,WB\>I[]+
M6_>FC=0[,$A7&#IC@!: D24JVDLEA0F6@LE@40$1+E,LWF'9)W1ZL"FZ1<DX
MO6':&:'C1#V^ _/UZS),5V%VL1:V3/!D<JD]T4K6EMQ[YX@=FZ (9HMT@GZ2
M]_%@=C]^G)8OC5R8 20X\B[TE[#,U1Z2\7NW_H++<Z,7I*U]>$D.R$$)ZR&D
M(NI=,,]922Q[N0<&=C]]G"8N;2 P@/PZV#0NCA_?3.?XFKY=36P6@7&"+U%+
MVQY# 137$R_)JRP2BJ";.+"W21DG#![P9'8@*7> DP_X#>>GN+I(8,1BLC84
MH@=3[XP+'\!E8X#II*+3RC*YHY78\2BY24@GI_<'*G8QH)3[0<EO)*<7B_F&
MA?^<KK^\.%VM%R>X?/4]S4YK >:SU0KI?_E3^#X)S+A46RX:7QN3V%I5X\B'
M,C8HFPU%;VI']<%@0'H(K>-B[3AP[$9:,TUU ,87B]7Z73EC]$)H(7&18RB
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
MDFKTJL!IBB]B"E&P+".F)M[WG12-N_>U0]$ \N\ 2->/[,_Y^7'!30J"T\(
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
M.7REWZU_3%!Y3#'0LF/"U<K_ *$8 [EPKIU&'5B3ZK:'D?DT#ZN'@6I#A78
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
MLF$!E/,"G$))CJV4+N1,4FLR;&DG-7V=@PVB]WVP]2 E=(BD,P%-K-+!.LG
MU(2&DJ3XH', +3P)*.5,/#X&EL[HZ>L$Y#'0=(@BGDQZZ5G.T_K06FM6%LN3
MS1L&RQW=]_0VB:&]^6F=]7&J.*'K#3*;ZV0+62"@-B 3#YC)HQ+Z43R,H=+I
MS^;K:;X5)KWZGF:G),4Z7OA*3NYVYO:L[E:9K# F#6ES73U' 5XJ15(1V@1K
MBF@S%'H0ZOO:2 ]"VDU;]_A:[=8ROD&*P0^I##K[PV'LV2XJ!C)5VT=?9HNR
MU,XI"=&BJJ-W$L08$$K(R6G:X[QOTUOF&AG'MRM?K1#/+K+,/V\??F7ZIO%,
ME&0@9%Y#9:')#_#U6HNU6B4NI6U2S',_62.WS#D<![<[EP\F_0X\\!M\O"N5
MO<5RUSU.%1+G@BGB!WV=C<7K+$<%F+/QTAE>5)/=?7\21^Z,,QS&&FFE\WWH
MX#K5:W\^Y)[4L";U!EI429Q998$GD6L3=5G'PY4:O&EMG36ZS6S'H7<F>MJ+
MQ6I]HTJ1IY0#(^^H9%EGC&"&P+F#HB4%DH99W7#?O4U/5WO10S1_>R\Z7MXC
M9Y4O"U_/Y$*[ZWI5+X--0ZQ]2Z9GR_"2.QUECHHSR-)L;H4E"*PDX,YG[4WD
M,L6?6(S#WMS5_G((;AY!X-W Z>/I5]HYMIG(*^<B'W 6:AGUXHJ%O[)PB&+.
M@P=9UXP*7M<KX0XHV!22I*M]^=EF=#P5(W=7&QIFS171@1N]*R@X7T\_?@_K
M>LCPXP:+63.#S"M@A=.J\K2^/)*_Z ,*],IESIHD3 Z@=>3.;$-NF&WUU $4
M;S!7OYQ?E;W&5K"H/5<D062.Q!@,1"1OP5KC$'G *)H<2^Y)W\B=V8:#7 M]
M=![(W9.0.#R\N_>A0P9]^U/?)A2T+G@E6 ;#L@"EZ]FV=1&$]<YFZS+Z)OV'
M6QQ2;I[Y$E=I.?U:Q;AMC"Z,VY3S0%*(M=0>(4H?P A>DA=.Z]BD\<P]-'45
M$CX$ ;MWN./EWL-LO<U8&#*N.L<LP7 DNU@C$!>T@<2\4$))%MD^)R,-YBLV
MA,- .MPY8?$A NT!!6=S-$*QR>> D$R]FF^3!5^/.$+B-ECCL\J#S5KK;,+B
M@S1VQX3%AXAO[!E[UX8#\L $9YFLGPHUT:HX>=XZU"[;7$EB*[I_Y F+#]+;
MG1,6'R+$L;5_;3B@1V&LS!J8SX785W4TI*D'F\(*P9+@<9]DYE.=L'BP]@\6
M8@<1[.[M[\U%8VSF&,9B#' LC,RA+>!4I!VQ%"N21IUYDQ8Y/Z%K[-/A87V&
M%LKH!EO78_+:F_]=J2U"M]YWBIQ+(X$AD[7O>KV29RU8#$KHI%EFC>*OGY'6
MHU=Z(!+V.)<[0BV= NT#SO&/,*N,38C<1)(Q4+@FFYRE@>A\ 1:YLT%S)L4^
M[NP@*+M"5X]&K!W$#E5(%_@Z2_U.N/7>:RX@EE ;MR,#'YT$JYT.*M,BT>W.
MBRH%8^>K6F+F$"%W@8Y:+W0WV%TR,A5#[)#W7]-KY!%X)<#H$B-*;CQK,R3T
M?KK&SC.UM3Y#*:0#?'TXR^;6/,;;Q7QQSM<$*2CA)2<H"2E@":469O,$4<2@
M;32819.9&W<1-'8:J1VB!E%!YXFD\R*"19G5?R>RQ,>FD>YYY)!)I'TI;Y-"
M8BE:3Z$]N"AK B$Z\,;1OI4RRT8&F[#-F-Y!4TC7K>5F&S:QI*R] ^<]!R4X
M!Q<8@E2,?N)+$+:)KW.;E+%CL8/U?7]^^L%2[F S^OAEL5QO!NQ=<""4+\;G
MV@Z87'@EO*2-U26H3<(W'<=CFW+:VZ2,'5 -AI,CI=P!3LZGR%XRH)A1FG$&
MQHO:Z*16Z\>,D!DZSIT//#:9B':+DK%#J,%0<IR,.P#))>$8,?NH2'_DB8/B
M]2Z]-TAN5;))J2!#PY+\O4'Q6%5WQX#B,)D.UEKE47S35=C448=YGEW640_L
MK-[[CH;>Z_Z\-:J(HG@F8>T%5;0#Y0KY(X77R[]:RL(9X_P)7(XY*[2_:"S#
M3=;29I QT(+*3A)3B9:"2-SQX(U)N@53U\GHRHU]B)YOW>H^7+I=C%>^<314
M.U:]*W]=X8:OB5-&ZF Y<"/)YKIH(7+C((9"[#!,P3S"W<L;5(V+G6,4?F\(
M=(SL>W!@+DWTA7!DP3KO38#U&&CS-H8".L5!^R(-SP;1M[EJ<)N6KN*A8PS.
ML7+N "IWW(-X<;JLLIR8&*6N%0.).=SVP8N1 CWDD5N)TAO9)$EP/UDC[UC'
M:OW^VP''J*##;>R"G[>+>3ICR9&+JQBM.9MCJ8.;R% GSP%9<C+4^ZFI2?'W
M3RD;V3(]#K .5$3/V)I09*IY/:F,S"<24[%03RDA*2&M#20HW20\N(.>D<]R
M'@='#Q+ZDXGD%^LON)Q>WOI9;N^HKA?;,'BX<'[/%[6)Z0_ALE%@CUQ;(P-$
MQ<EI5XI!3)E!5E)J+Y$I_@2N.EU?(F<=K5>3R&22G.4:-]2]6R1P.F0RLLXI
M'T)TIDG3B]WD]!7H/T#O]QND@Z3=@>M](\A\%VG-S3&_KL.[O]0"\-]N5HM<
MFE[GN0^1PE"V:?*JBR(NZUQO43RRR /')JOF")K[BOJ.0-]CZ:T#B%YGXT83
M]0]X0HQ?+=7E$X7*2*4Y.0*U%972Q!]!"9@3W">'7*1'\,-^3FA7R;;A3.'
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
M*M)OR6J1CJ/E3>88C*)RV8RU^='87E0=X' >Z^3=_6A.[6SA%HG'1M2RP*
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
MVJ'LR_>E9L+K]@(ZHC-N%>N\FN[PS>;Z[CG:%]%ZEA7D4D5@1@NREP("2L_
M,!>Y1J5D;A*$>Q6MMQ^A?E-3Q]^7=_D2KW[=;F+.=2S%[L/?\?H_\5/^&0G"
M*[QZ6TJN3:,R,F,8 N>6K#;G+3@I(T0Z,XJ381G=U^ U?M5S4F!C /-HE'T[
M.72KO'Z_";O\CQOZUMM/E;T3=-47GYA'-1VG;"9-]'21A\YLI3IH=!75ZG=0
M3'K .J)59ITLDHAC;%,I]P)!)]<!/OGNPQW,K) IT_W.V#Z8Z!R$$#QD+74P
M I.U3<9SO$C1PF5A<R#BB]+ 6;C?7HD<_J#^$G"7_^/?_@]02P,$%     @
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
MM4T-\-?6&7,GHG^6#,1W#E.*Q&[BS?^LI/_NH_<>U\.7'+@M<&T&D+='CO9
M*&$4,%J1C45A.J7XSK('SW4=?W LW1W(SP\UZY"O-P=U7U3ZD[2:.(D)#-1T
M$28WNDE%[F$(8!TX>. YC 8"H\L\QPKTY'93Y:;:\]\#/_D>2]A+H"&I@K@9
M -JH"_4 6/?<ID)VX!,Y$Q/))]1F<X''U>,G564'FA=<SBBT3C/I4P)>\1O
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
ML3YKR=*U**C5I;W'?P-02P$"% ,4    " "KAIU0JV8W$,RL 0 97A@ $
M            @ $     ='EL+3(P,C P,S,Q+FAT;5!+ 0(4 Q0    ( *N&
MG5!EXHIM) X  +J1   0              "  ?JL 0!T>6PM,C R,# S,S$N
M>'-D4$L! A0#%     @ JX:=4'/)BR4M'   %28! !0              ( !
M3+L! '1Y;"TR,#(P,#,S,5]C86PN>&UL4$L! A0#%     @ JX:=4,H@PP*U
M/@  CHP" !0              ( !J]<! '1Y;"TR,#(P,#,S,5]D968N>&UL
M4$L! A0#%     @ JX:=4&: 9VSVI0  P<4& !0              ( !DA8"
M '1Y;"TR,#(P,#,S,5]L86(N>&UL4$L! A0#%     @ JX:=4'4[T%M9:0
MU*$$ !0              ( !NKP" '1Y;"TR,#(P,#,S,5]P<F4N>&UL4$L!
M A0#%     @ JX:=4#O)315X"   5CD  !@              ( !128# '1Y
M;#,S,3(P,C!E>&AI8FET,S$Q+FAT;5!+ 0(4 Q0    ( *N&G5#:I<FY? @
M $0W   8              "  ?,N P!T>6PS,S$R,#(P97AH:6)I=#,Q,BYH
M=&U02P$"% ,4    " "KAIU0XO=34^,%   U/   &               @ &E
M-P, ='EL,S,Q,C R,&5X:&EB:70S,C$N:'1M4$L%!@     )  D 5@(  +X]
$ P    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6802712016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Shareholders' Equity<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Shareholders' Equity</a></td>
<td class="text">Shareholders&#8217; Equity<div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table details activity in our common stock:</span></div><div style="margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:89.035%;"><tr><td style="width:1.0%;"/><td style="width:41.513%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.621%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.479%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.621%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.315%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.621%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:9.658%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.606%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.942%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.624%;"/><td style="width:0.1%;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="21" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-bottom:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Shares</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Shares</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Purchases of treasury shares</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(59)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(15,482)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(72)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(14,289)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Stock option exercises </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">481&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">46,236&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">94&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,564&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Employee stock plan purchases</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,469&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">15&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,349&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Restricted stock units vested, net of withheld shares upon award settlement</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(2,301)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1,373)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr></table></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of March&#160;31, 2020, we have authorization from our board of directors to repurchase up to 2.6 million additional shares of our common stock.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -URI http://asc.fasb.org/topic&amp;trid=2208762<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6816678704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment and Related Information<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">Segment and Related Information</a></td>
<td class="text">Segment and Related Information<div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We provide integrated information management solutions and services for the public sector, with a focus on local governments.</span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We provide our software systems and services and appraisal services through seven business units, which focus on the following products:</span></div><div style="text-indent:-18pt;padding-left:56.25pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">financial management, education and planning, regulatory and maintenance software solutions;</span></div><div style="text-indent:-18pt;padding-left:56.25pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">financial management, municipal courts, planning, regulatory and maintenance management software solutions;</span></div><div style="text-indent:-18pt;padding-left:56.25pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">courts and justice and public safety software solutions; </span></div><div style="text-indent:-18pt;padding-left:56.25pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">data and insights solutions;</span></div><div style="text-indent:-18pt;padding-left:56.25pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">case management and business management solutions; and</span></div><div style="text-indent:-18pt;padding-left:56.25pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">appraisal and tax software solutions, property appraisal services and land and vital records management software solutions.</span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">In accordance with ASC 280-10, </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Segment Reporting</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">, the financial management, education and planning, regulatory and maintenance software solutions unit; financial management, municipal courts, planning, regulatory and maintenance, and land and vital records management software solutions unit; courts and justice and public safety software solutions unit; the data and insights solutions unit; and case management and business management solutions units meet the criteria for aggregation and are presented in one reportable segment, the Enterprise Software (&#8220;ES&#8221;) segment. The ES segment provides public sector entities with software systems and services to meet their information technology and automation needs for mission-critical &#8220;back-office&#8221; functions such as: financial management and education, courts and justice, public safety, planning, regulatory and maintenance, and data and insights. The Appraisal and Tax (&#8220;A&amp;T&#8221;) segment provides systems and software that automate the appraisal and assessment of real and personal property, land and vital records management as well as property appraisal outsourcing services for local governments and taxing authorities. Property appraisal outsourcing services include: the physical inspection of commercial and residential properties; data collection and processing; computer analysis for property valuation; preparation of tax rolls; community education; and arbitration between taxpayers and the assessing jurisdiction.</span></div><div style="margin-top:12pt;margin-bottom:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We evaluate performance based on several factors, of which the primary financial measure is business segment operating income. We define segment operating income for our business units as income before non-cash amortization of intangible assets associated with their acquisitions, interest expense and income taxes. Segment operating income includes intercompany transactions. The majority of intercompany transactions relate to contracts involving more than one unit and are valued based on the contractual arrangement. Segment operating income for Corporate primarily consists of compensation costs for the executive management team and certain accounting and administrative staff and share-based compensation expense for the entire company. Corporate segment operating income also includes revenues and expenses related to a company-wide user conference. Due to the shelter-in-place orders caused by the COVID pandemic, we cancelled our company-wide user conference for the current year.</span></div><div style="margin-top:12pt;margin-bottom:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of January 1, 2020, the land and vital records management business unit, which was previously reported in the ES segment, was moved to the A&amp;T segment. These changes were made to reflect changes in the way in which management makes operating decisions, allocates resources, and manages the growth and profitability of the Company. Prior year amounts for the ES and A&amp;T segments have been adjusted to reflect the segment change.</span></div><div><span><br/></span></div><div style="margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:98.976%;"><tr><td style="width:1.0%;"/><td style="width:43.642%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.538%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.850%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.538%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.850%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.538%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.850%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.538%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.856%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise<br/>Software</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Revenues</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses and royalties</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">15,951&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,786&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18,737&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Subscriptions</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">76,644&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,079&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">81,723&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">44,949&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7,184&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">52,133&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Maintenance</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">104,841&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">9,524&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">114,365&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,763&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,763&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,791&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">27&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,820&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Intercompany</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,001&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4,019)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">250,177&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">30,381&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4,017)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">276,541&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Segment operating income</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">60,472&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,908&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(20,068)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">47,312&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:98.976%;"><tr><td style="width:1.0%;"/><td style="width:43.642%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.538%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.850%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.538%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.850%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.538%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.850%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.538%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.856%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise<br/>Software</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Revenues</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses and royalties</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18,522&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,271&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21,793&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Subscriptions</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">63,255&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,020&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">67,275&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">40,456&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7,987&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">48,443&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Maintenance</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">91,188&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8,964&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">100,152&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,214&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,214&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,130&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">62&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,189&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Intercompany</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,484&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">69&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3,553)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">221,035&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">29,587&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3,556)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">247,066&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Segment operating income</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">55,474&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7,095&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(16,546)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">46,023&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div><span><br/></span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:77.631%;"><tr><td style="width:1.0%;"/><td style="width:65.984%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.306%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:13.254%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.741%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.315%;"/><td style="width:1.0%;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Reconciliation of reportable segment operating income to the Company's consolidated totals:</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total segment operating income</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">47,312&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">46,023&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amortization of acquired software</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(8,027)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(6,682)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amortization of customer and trade name intangibles</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(5,392)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4,850)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other income, net</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">990&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">586&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Income before income taxes</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">34,883&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">35,077&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -URI http://asc.fasb.org/topic&amp;trid=2134510<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6911826608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Shareholders' Equity - Summary of Activities in Common Stock (Detail) - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValueAcquiredCostMethod', window );">Purchases of treasury shares</a></td>
<td class="num">$ (15,482)<span></span>
</td>
<td class="num">$ (14,289)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockSharesAcquired', window );">Purchases of treasury (in shares)</a></td>
<td class="num">(59)<span></span>
</td>
<td class="num">(72)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Stock option exercises</a></td>
<td class="nump">$ 46,236<span></span>
</td>
<td class="nump">$ 6,564<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Stock option exercises (in shares)</a></td>
<td class="nump">481<span></span>
</td>
<td class="nump">94<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Employee stock plan purchases</a></td>
<td class="nump">$ 2,469<span></span>
</td>
<td class="nump">$ 2,349<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Employee stock plan purchases (in shares)</a></td>
<td class="nump">10<span></span>
</td>
<td class="nump">15<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement', window );">Restricted stock units vested, net of withheld shares upon award settlement</a></td>
<td class="num">$ (2,301)<span></span>
</td>
<td class="num">$ (1,373)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement', window );">Restricted stock units vested, net of withheld shares upon award settlement (in shares)</a></td>
<td class="nump">10<span></span>
</td>
<td class="nump">10<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tyl_ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share-Based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other than Options, Vested In Period, Net Of Withheld Shares Upon Award Settlement</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tyl_ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tyl_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tyl_StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Stock Issued During Period, Value, Restricted Stock Units Vested, Net Of Withheld Shares Upon Award Settlement</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tyl_StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tyl_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of an employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29-31)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockSharesAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and are being held in treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockSharesAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValueAcquiredCostMethod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValueAcquiredCostMethod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6820220800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revolving Line of Credit (Detail) - USD ($)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
<th class="th"><div>Sep. 30, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line Of Credit Facility</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermLineOfCredit', window );">Outstanding borrowings</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility | Credit Agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line Of Credit Facility</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Revolving credit facility, maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 400,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermLineOfCredit', window );">Outstanding borrowings</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Line of credit facility, unused borrowing capacity</a></td>
<td class="nump">$ 400,000,000.0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility | Credit Agreement | Prime Commercial Lending Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line Of Credit Facility</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage', window );">Effective percentage interest rate</a></td>
<td class="nump">3.38%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility | Credit Agreement | Libor Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line Of Credit Facility</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage', window );">Effective percentage interest rate</a></td>
<td class="nump">2.12%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility | Credit Agreement | Minimum | Prime Commercial Lending Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line Of Credit Facility</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Line of credit facility interest rate</a></td>
<td class="nump">0.125%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility | Credit Agreement | Minimum | Libor Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line Of Credit Facility</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Line of credit facility interest rate</a></td>
<td class="nump">1.125%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility | Credit Agreement | Maximum | Prime Commercial Lending Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line Of Credit Facility</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Line of credit facility interest rate</a></td>
<td class="nump">0.75%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility | Credit Agreement | Maximum | Libor Rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line Of Credit Facility</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Line of credit facility interest rate</a></td>
<td class="nump">1.75%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility | Credit Agreement | Letter of Credit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityLineItems', window );"><strong>Line Of Credit Facility</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Revolving credit facility, maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 25,000,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage points added to the reference rate to compute the variable rate on the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateEffectivePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109500613&amp;loc=SL6036836-161870<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=114775744&amp;loc=d3e28551-108399<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateEffectivePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermLineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the noncurrent portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=99376301&amp;loc=d3e1336-112600<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=99376301&amp;loc=d3e1314-112600<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermLineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=tyl_CreditAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=tyl_CreditAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_PrimeRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_PrimeRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_LondonInterbankOfferedRateLIBORMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermDebtTypeAxis=us-gaap_LetterOfCreditMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermDebtTypeAxis=us-gaap_LetterOfCreditMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6800268560">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseCostTableTextBlock', window );">Schedule of lease cost</a></td>
<td class="text"><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The components of operating lease expense were as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:88.157%;"><tr><td style="width:1.0%;"/><td style="width:19.061%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.629%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:41.117%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.629%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:14.749%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.463%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:14.752%;"/><td style="width:1.0%;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Lease Costs</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Financial Statement Classification</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating lease cost</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Selling, general and administrative expenses</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,666&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,370&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Short-term lease cost</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Selling, general and administrative expenses</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">574&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">570&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Variable lease cost</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Selling, general and administrative expenses</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">394&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">163&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net lease cost</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,634&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,103&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/></tr></table></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Supplemental information related to leases was as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:85.672%;"><tr><td style="width:1.0%;"/><td style="width:59.945%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.653%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.918%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.165%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.919%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other Information</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration: underline;">Cash flows</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;">:</span></div></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cash paid amounts included in the measurement of lease liabilities:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating cash outflows from operating leases</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,873&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,530&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Right-of-use assets obtained in exchange for lease obligations (non-cash):</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating leases</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">457&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">431&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;">Lease term and discount rate:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted average remaining lease term (years)</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted average discount rate</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4.00&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4.00&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock', window );">Schedule of leases assets and liabilities</a></td>
<td class="text"><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of March&#160;31, 2020, Right-of-use ("ROU") lease assets and lease liabilities for our operating leases were recorded in the condensed consolidated balance sheet as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:80.555%;"><tr><td style="width:1.0%;"/><td style="width:56.257%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.707%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:16.693%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.070%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:18.873%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;">Assets:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating lease right-of-use assets</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">17,992&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18,992&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;">Liabilities:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating leases, short-term</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,373&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,387&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating leases, long-term</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">15,548&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">16,822&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total lease liabilities</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21,921&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">23,209&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock', window );">Schedule of supplemental information related to leases</a></td>
<td class="text"><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Supplemental information related to leases was as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:85.672%;"><tr><td style="width:1.0%;"/><td style="width:59.945%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.653%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.918%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.165%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.919%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other Information</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration: underline;">Cash flows</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;">:</span></div></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cash paid amounts included in the measurement of lease liabilities:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating cash outflows from operating leases</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,873&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,530&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Right-of-use assets obtained in exchange for lease obligations (non-cash):</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating leases</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">457&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">431&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;">Lease term and discount rate:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted average remaining lease term (years)</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted average discount rate</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4.00&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4.00&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr></table></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Schedule of operating lease maturity</a></td>
<td class="text"><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of&#160;March&#160;31, 2020, maturities of lease liabilities were as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:69.590%;"><tr><td style="width:1.0%;"/><td style="width:69.428%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.270%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:25.102%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Year ending December 31,</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020 (Remaining 2020)</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,845&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2021</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,340&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2022</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,021&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2023</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,989&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2024</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,545&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,133&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total lease payments</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">23,873&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Less: Interest</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1,952)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Present value of operating lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21,921&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLeaseIncomeTableTextBlock', window );">Schedule of future minimum operating rental income</a></td>
<td class="text">Future minimum operating rental income based on contractual agreements is as follows:<table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:75.877%;"><tr><td style="width:1.0%;"/><td style="width:63.510%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.148%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:31.142%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Year ending December 31,</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount</span></td></tr><tr><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020 (Remaining 2020)</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,009&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2021</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,372&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2022</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,402&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2023</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,432&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2024</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,462&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">857&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7,534&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tyl_ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Leases Assets And Liabilities [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tyl_ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tyl_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tyl_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Schedule Of Supplemental Information Related To Leases [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tyl_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tyl_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCostTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCostTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLeaseIncomeTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of components of income from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=119202524&amp;loc=SL77919372-209981<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 270<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6A<br> -URI http://asc.fasb.org/extlink&amp;oid=118952077&amp;loc=SL77927221-108306<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLeaseIncomeTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6799390160">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventsAbstract', window );"><strong>Subsequent Events [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Subsequent Events</a></td>
<td class="text">Subsequent Events There have been no material events and transactions that occurred subsequent to March&#160;31, 2020.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 855<br> -URI http://asc.fasb.org/topic&amp;trid=2122774<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6816476368">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 47,550<span></span>
</td>
<td class="nump">$ 27,348<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DepreciationDepletionAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">19,985<span></span>
</td>
<td class="nump">17,308<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Share-based compensation expense</a></td>
<td class="nump">17,302<span></span>
</td>
<td class="nump">14,416<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_OperatingLeaseRightOfUseAssetsNonCash', window );">Operating lease right-of-use assets expense</a></td>
<td class="nump">1,457<span></span>
</td>
<td class="nump">1,165<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income tax benefit</a></td>
<td class="num">(2,668)<span></span>
</td>
<td class="num">(4,785)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities, exclusive of effects of &#160;&#160; acquired companies:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="nump">56,982<span></span>
</td>
<td class="nump">9,622<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable', window );">Income tax receivable</a></td>
<td class="num">(10,175)<span></span>
</td>
<td class="nump">12,425<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="num">(11,186)<span></span>
</td>
<td class="num">(3,862)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(2,020)<span></span>
</td>
<td class="num">(1,501)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_IncreaseDecreaseInOperatingLeaseLiabilities', window );">Operating lease liabilities</a></td>
<td class="num">(1,743)<span></span>
</td>
<td class="num">(1,272)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued liabilities</a></td>
<td class="num">(12,210)<span></span>
</td>
<td class="num">(3,760)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability', window );">Deferred revenue</a></td>
<td class="num">(46,568)<span></span>
</td>
<td class="num">(43,147)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">56,706<span></span>
</td>
<td class="nump">23,957<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Additions to property and equipment</a></td>
<td class="num">(9,349)<span></span>
</td>
<td class="num">(12,320)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireMarketableSecurities', window );">Purchase of marketable security investments</a></td>
<td class="num">(27,271)<span></span>
</td>
<td class="num">(3,590)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities', window );">Proceeds from marketable security investments</a></td>
<td class="nump">18,237<span></span>
</td>
<td class="nump">20,276<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireEquityMethodInvestments', window );">Purchase of investment in common shares</a></td>
<td class="num">(10,000)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfEquityMethodInvestments', window );">Proceeds from the sale of investment in preferred shares</a></td>
<td class="nump">15,000<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForSoftware', window );">Investment in software</a></td>
<td class="num">(1,315)<span></span>
</td>
<td class="num">(690)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cost of acquisitions, net of cash acquired</a></td>
<td class="num">(261)<span></span>
</td>
<td class="num">(199,130)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForProceedsFromOtherInvestingActivities', window );">(Increase) decrease in other</a></td>
<td class="num">(48)<span></span>
</td>
<td class="nump">564<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used by investing activities</a></td>
<td class="num">(15,007)<span></span>
</td>
<td class="num">(194,890)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromLinesOfCredit', window );">Increase in net borrowings on revolving line of credit</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">85,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Purchase of treasury shares</a></td>
<td class="num">(15,482)<span></span>
</td>
<td class="num">(17,786)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment of contingent consideration</a></td>
<td class="num">(5,619)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from exercise of stock options</a></td>
<td class="nump">46,236<span></span>
</td>
<td class="nump">6,528<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromStockPlans', window );">Contributions from employee stock purchase plan</a></td>
<td class="nump">2,469<span></span>
</td>
<td class="nump">2,349<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by financing activities</a></td>
<td class="nump">27,604<span></span>
</td>
<td class="nump">76,091<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash and cash equivalents</a></td>
<td class="nump">69,303<span></span>
</td>
<td class="num">(94,842)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents at beginning of period</a></td>
<td class="nump">232,682<span></span>
</td>
<td class="nump">134,279<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents at end of period</a></td>
<td class="nump">$ 301,985<span></span>
</td>
<td class="nump">$ 39,437<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tyl_IncreaseDecreaseInOperatingLeaseLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Increase (Decrease) In Operating Lease Liabilities</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tyl_IncreaseDecreaseInOperatingLeaseLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tyl_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tyl_OperatingLeaseRightOfUseAssetsNonCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Operating Lease Right Of Use Assets Non Cash</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tyl_OperatingLeaseRightOfUseAssetsNonCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tyl_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3044-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=SL98516268-108586<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 830<br> -SubTopic 230<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=98513438&amp;loc=d3e33268-110906<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationDepletionAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationDepletionAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3536-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 24<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3521-108585<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForProceedsFromOtherInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash (inflow) outflow from investing activities classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e24072-122690<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3213-108585<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForProceedsFromOtherInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForSoftware">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the development, modification or acquisition of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForSoftware</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the purchase of or advances to an equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireMarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow for purchase of marketable security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=118954083&amp;loc=d3e26853-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireMarketableSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromLinesOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3255-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(f))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromLinesOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the aggregate amount received by the entity through sale or maturity of marketable securities  (held-to-maturity or available-for-sale) during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the sale of equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=SL79508275-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockPlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the amount received from the stock plan during the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3255-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockPlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6816621536">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Schedule of leases assets and liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsAbstract', window );"><strong>Assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets</a></td>
<td class="nump">$ 17,992<span></span>
</td>
<td class="nump">$ 18,992<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAbstract', window );"><strong>Liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating leases, short-term</a></td>
<td class="nump">6,373<span></span>
</td>
<td class="nump">6,387<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating leases, long-term</a></td>
<td class="nump">15,548<span></span>
</td>
<td class="nump">16,822<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total lease liabilities</a></td>
<td class="nump">$ 21,921<span></span>
</td>
<td class="nump">$ 23,209<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6914343168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Share-Based Compensation (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-based compensation expense</a></td>
<td class="nump">$ 17,302<span></span>
</td>
<td class="nump">$ 14,416<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember', window );">Cost of software services, maintenance and subscriptions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-based compensation expense</a></td>
<td class="nump">4,252<span></span>
</td>
<td class="nump">3,798<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember', window );">Selling, general and administrative expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems', window );"><strong>Employee Service Share-based Compensation, Allocation of Recognized Period Costs</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-based compensation expense</a></td>
<td class="nump">$ 13,050<span></span>
</td>
<td class="nump">$ 10,618<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5047-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=115993241&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SellingGeneralAndAdministrativeExpensesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6816625872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cover - shares<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Apr. 27, 2020</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Mar. 31,  2020<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">1-10485<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">TYLER TECHNOLOGIES, INC.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">75-2303920<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">5101 TENNYSON PARKWAY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">PLANO<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">TX<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">75024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">972<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">713-3700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">COMMON STOCK, $0.01 PAR VALUE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">TYL<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NYSE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Large Accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">39,761,629<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2020<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000860731<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in CCYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 13<br> -Subsection a-13<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1-<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation 12B<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6799300128">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationsAbstract', window );"><strong>Business Combinations [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessCombinationDisclosureTextBlock', window );">Acquisitions</a></td>
<td class="text">AcquisitionsOn February 28, 2019, we acquired all of the capital stock of MP Holdings Parent, Inc. dba MicroPact ("MicroPact"), a leading provider of commercial off-the-shelf solutions, including entellitrak&#174;, a low-code application development platform for case management and business process management used extensively in the public sector.  In the three months ended March 31, 2020, we paid $5.6 million in contingent consideration. As of March&#160;31, 2020, we have no contingent consideration accrued as it relates to acquisitions completed in prior periods.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -URI http://asc.fasb.org/topic&amp;trid=2303972<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessCombinationsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessCombinationsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6806626224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Share-Based Compensation (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Summary of share-based compensation expense related to share-based awards recorded in the statements of income</a></td>
<td class="text"><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes share-based compensation expense related to share-based awards recorded in the condensed consolidated statements of income, pursuant to ASC 718, </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Stock Compensation</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">:</span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:65.935%;"><tr><td style="width:1.0%;"/><td style="width:62.745%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.908%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.855%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:2.460%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:14.632%;"/><td style="width:1.0%;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cost of software services, maintenance and subscriptions</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,252&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,798&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Selling, general and administrative expenses</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">13,050&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10,618&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total share-based compensation expense</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">17,302&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,416&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -URI http://asc.fasb.org/extlink&amp;oid=115993241&amp;loc=d3e301413-122809<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5047-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6800307808">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounting Standards and Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of estimates</a></td>
<td class="text"><div style="margin-top:12pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">USE OF ESTIMATES</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The preparation of our financial statements in conformity with accounting principles generally accepted in the United States (&#8220;GAAP&#8221;) requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant items subject to such estimates and assumptions include revenue recognition, determining the nature and timing of satisfaction of performance obligations, determining the standalone selling price ("SSP") of performance obligations, variable consideration, and other obligations such as returns and refunds; loss contingencies; the estimated useful life of deferred commissions; the carrying amount and estimated useful lives of intangible assets; the carrying amount of operating lease right-of-use assets and operating lease liabilities; determining share-based compensation expense; the valuation allowance for receivables; and determining the potential outcome of future tax consequences of events that have been recognized on our consolidated financial statements or tax returns. Actual results could differ from estimates.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock', window );">Revenue recognition</a></td>
<td class="text"><div style="margin-top:12pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">REVENUE RECOGNITION</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Nature of Products and Services:</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We earn revenue from software licenses, royalties, subscription-based services, software services, post-contract customer support (&#8220;PCS&#8221; or &#8220;maintenance&#8221;), hardware, and appraisal services. Revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services. We determine revenue recognition through the following steps:</span></div><div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">Identification of the contract, or contracts with a customer</span></div><div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">Identification of the performance obligations in the contract </span></div><div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">Determination of the transaction price</span></div><div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">Allocation of the transaction price to the performance obligations in the contract</span></div><div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">Recognition of revenue when, or as, we satisfy a performance obligation</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Most of our software arrangements with customers contain multiple performance obligations that range from software licenses, installation, training, and consulting to software modification and customization to meet specific customer needs (services), hosting, and PCS. For these contracts, we account for individual performance obligations separately when they are distinct. We evaluate whether separate performance obligations can be distinct or should be accounted for as one performance obligation. Arrangements that include software services, such as training or installation, are evaluated to determine whether the customer can benefit from the services either on their own or together with other resources readily available to the customer and whether the services are separately identifiable from other promises in the contract. The transaction price is allocated to the distinct performance obligations on a relative SSP basis. We determine the SSP based on our overall pricing objectives, taking into consideration market conditions and other factors, including the value of our contracts, the applications sold, customer demographics, and the number and types of users within our contracts. Revenue is recognized net of allowances for sales adjustments and any taxes collected from customers, which are subsequently remitted to governmental authorities.</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Significant Judgments:</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Our contracts with customers often include multiple performance obligations to a customer. When a software arrangement (license or subscription) includes both software licenses and software services, judgment is required to determine whether the software license is considered distinct and accounted for separately, or not distinct and accounted for together with the software services and recognized over time. </span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The transaction price is allocated to the separate performance obligations on a relative SSP basis. We determine the SSP based on our overall pricing objectives, taking into consideration market conditions and other factors, including the value of our contracts, the applications sold, customer demographics, and the number and types of users within our contracts.</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%;"> </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We use a range of amounts to estimate SSP when we sell each of the products and services separately and need to determine whether there is a discount to be allocated based on the relative SSP of the various products and services. In instances where SSP is not directly observable, such as when we do not sell the product or service separately, we determine SSP using the expected cost-plus margin approach.</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">For arrangements that involve significant production, modification or customization of the software, or where software services otherwise cannot be considered distinct, we recognize revenue as control is transferred to the customer over time using progress-to-completion methods. Depending on the contract, we measure progress-to-completion primarily using labor hours incurred, or value added. The progress-to-completion method generally results in the recognition of reasonably consistent profit margins over the life of a contract because we can provide reasonably dependable estimates of contract billings and contract costs. We use the level of profit margin that is most likely to occur on a contract. If the most likely profit margin cannot be precisely determined, the lowest probable level of profit margin in the range of estimates is used until the results can be estimated more precisely. These arrangements are often implemented over an extended time period and occasionally require us to revise total cost estimates. Amounts recognized in revenue are calculated using the progress-to-completion measurement after giving effect to any changes in our cost estimates. Changes to total estimated contract costs, if any, are recorded in the period they are determined. Estimated losses on uncompleted contracts are recorded in the period in which we first determine that a loss is apparent.</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Typically, the structure of our arrangements does not give rise to variable consideration. However, in those instances whereby variable consideration exists, we include in our estimates additional revenue for variable consideration when we believe we have an enforceable right, the amount can be estimated reliably and its realization is probable.</span></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy', window );">Contract balances</a></td>
<td class="text"><div style="margin-top:6pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Contract Balances:</span></div><div style="margin-top:6pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Accounts receivable and allowance for losses and sales adjustments</span></div><div style="margin-top:12pt;margin-bottom:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Timing of revenue recognition may differ from the timing of invoicing to customers. We record an unbilled receivable when revenue is recognized prior to invoicing, or deferred revenue when revenue is recognized subsequent to invoicing. For multi-year agreements, we generally invoice customers annually at the beginning of each annual coverage period. We record an unbilled receivable related to revenue recognized for on-premises licenses as we have an unconditional right to invoice and receive payment in the future related to those licenses.</span></div><div style="margin-top:12pt;margin-bottom:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">At March&#160;31, 2020, and December&#160;31, 2019, total current and long-term accounts receivable, net of allowance for losses and sales adjustments, was $339.5 million and $396.5 million, respectively. We have recorded unbilled receivables of $134.5 million and $134.0 million at March&#160;31, 2020, and December&#160;31, 2019, respectively. Included in unbilled receivables are retention receivables of $12.5 million and $13.1 million at March&#160;31, 2020, and December&#160;31, 2019, respectively, which become payable upon the completion of the contract or completion of our fieldwork and formal hearings. Unbilled receivables expected to be collected within one year have been included with accounts receivable, current portion in the accompanying condensed consolidated balance sheets. Unbilled receivables and retention receivables expected to be collected past one year have been included with accounts receivable, long-term portion in the accompanying condensed consolidated balance sheets.</span></div>We maintain allowances for losses and sales adjustments, which losses are recorded against revenue at the time of the loss is incurred. Since most of our clients are domestic governmental entities, we rarely incur a loss resulting from the inability of a client to make required payments. Events or changes in circumstances that indicate the carrying amount for the allowances for losses and sales  adjustments may require revision, include, but are not limited to, managing our client&#8217;s expectations regarding the scope of the services to be delivered and defects or errors in new versions or enhancements of our software products. Our allowance for losses and sales adjustments of $6.5 million at March&#160;31, 2020, does not include provisions for credit losses.<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recently adopted pronouncements</a></td>
<td class="text"><div style="margin-top:12pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">RECENTLY ADOPTED ACCOUNTING PRONOUNCEMENTS</span></div><div style="margin-top:6pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">In June 2016, the FASB issued ASU 2016-13,&#160;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Financial Instruments -&#160;Credit&#160;Losses,</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#160;(&#8220;ASU 2016-13&#8221;). ASU 2016-13 changes the impairment model for most financial assets and certain other instruments, including trade and other receivables, available for-sale debt securities, held-to-maturity debt securities and loans, and requires entities to use a new forward-looking expected loss model that will result in the earlier recognition of an allowance for losses. This update is effective for fiscal years beginning after December 15, 2019, including interim periods within those fiscal years. Early adoption is permitted for a fiscal year beginning after December 15, 2018, including interim periods within that fiscal year. Entities apply the standard&#8217;s provisions as a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is adopted.  As of January 1, 2020, we adopted the new standard with no material impact of credit losses to our trade and other receivables, held-to-maturity debt securities and retained earnings included in our condensed consolidated financial statements.</span></div><div style="margin-top:12pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">RECENTLY ISSUED ACCOUNTING PRONOUNCEMENTS</span></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:107%;">Accounting for Income Taxes </span></div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">In December 2019, the FASB issued ASU 2019-12,</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"> Simplifying the Accounting for Income Taxes</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">, ("ASU 2019-12") which simplifies the accounting for income taxes, eliminates certain exceptions within ASC 740, </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Income Taxes</span>, and clarifies certain aspects of the current guidance to promote consistency among reporting entities. The new standard is effective for fiscal years beginning after December 15, 2020. Most amendments within the standard are required to be applied on a prospective basis, while certain amendments must be applied on a retrospective or modified retrospective basis. The Company does not expect adoption of this standard to have a material effect on the Company&#8217;s consolidated financial statements.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the allowance for doubtful accounts for trade and other accounts receivable balances, and when impairments, charge-offs or recoveries are recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=118936363&amp;loc=d3e5144-111524<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue from contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18823-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI http://asc.fasb.org/topic&amp;trid=49130388<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6191-108592<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6161-108592<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6143-108592<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6061-108592<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e6132-108592<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=99393423&amp;loc=d3e5967-108592<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6802712016">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accounting Standards and Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Accounting Standards and Significant Accounting Policies</a></td>
<td class="text">Accounting Standards and Significant Accounting Policies<div style="margin-top:12pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES</span></div><div style="margin-top:6pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Except for the accounting policies for ASU 2016-13,&#160;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Financial Instruments -&#160;Credit&#160;Losses,</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#160;(&#8220;ASU 2016-13&#8221;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">)</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">, there have been no changes to our significant accounting policies described in the Annual Report on Form 10-K for the year ended December&#160;31, 2019, filed with the SEC on February 19, 2020, that have had a material impact on our condensed consolidated financial statements and related notes.</span></div><div style="margin-top:6pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Impact of the COVID-19 Pandemic</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">In March 2020, the World Health Organization declared the outbreak of COVID -19 a pandemic, which continues to spread throughout the U.S. and the world and has resulted in authorities implementing numerous measures to contain the virus, including travel bans and restrictions, quarantines, shelter-in-place orders, and business limitations and shutdowns. </span><span style="background-color:rgb(255,255,255, 0.0);color:#212529;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">While we </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">are unable to accurately predict the full impact that COVID-19 will have on our results from operations, financial condition, liquidity and cash flows due to numerous uncertainties, including the duration and severity of the pandemic and containment measures and associated compliance, we do expect the current environment will negatively impact our revenues and other financial results for fiscal 2020. However, for the first quarter of 2020, we did not experience a material negative impact on our financial results associated with the pandemic.</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Because an increasing portion of our revenues are recurring, the effect of COVID-19 on our results of operations may also not be fully reflected for some time. We expect to see some impact on our business in the near term, with possible delays in government procurement processes and delays in implementations caused by travel restrictions, closed offices, or clients shifting focus to more pressing issues. We are working to address those challenges through adapting the way we do business &#8211; encouraging web and video conferencing, conducting sales demonstrations and delivering professional services remotely.</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Our priorities during this crisis are protecting the health and safety of our employees and our clients. Our IT systems and applications support a remote workforce. Prior to the pandemic, many of our employees worked remotely. </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%;"> </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">In response to the pandemic, we encouraged all employees who are able to do so to work from home, equipping them with resources necessary to continue uninterrupted. We were able to transition the vast majority of our employees to this work-from-home posture. This reduces the number of team members in our offices to those uniquely needed for essential on-site services, such as network operations support staff, and allows for &#8220;social distancing&#8221; as directed by the Centers for Disease Control ("CDC").</span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The pandemic has delayed some government procurement processes and is expected to impact our ability to complete certain implementations, negatively impacting our revenue. It could also negatively impact the timing of client payments to us.</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%;"> </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We continue to monitor these trends in order to respond to the ever-changing impact of COVID-19 on our clients and Tyler&#8217;s operations.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Recurring revenues, from subscriptions and maintenance revenues, for the three months ended March 31, 2020, comprise 71% of our total consolidated revenue, and include newer transaction-based revenue streams such as e-filing and online payments. As of March&#160;31, 2020, we had $392.6 million in cash and investments and no outstanding borrowings under our credit facility. We also have substantial additional liquidity available through our undrawn $400.0 million credit facility, which can be expanded through an accordion feature. For the first quarter of 2020, the negative impact of the COVID-19 pandemic was not material to our operating results. No asset impairments were recorded as of the balance sheet date as no triggering events or changes in circumstances occurred as of period-end to require such an impairment; however, due to significant uncertainty surrounding the pandemic, management&#8217;s judgment regarding this could change in the future.</span></div><div style="margin-top:12pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">USE OF ESTIMATES</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The preparation of our financial statements in conformity with accounting principles generally accepted in the United States (&#8220;GAAP&#8221;) requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant items subject to such estimates and assumptions include revenue recognition, determining the nature and timing of satisfaction of performance obligations, determining the standalone selling price ("SSP") of performance obligations, variable consideration, and other obligations such as returns and refunds; loss contingencies; the estimated useful life of deferred commissions; the carrying amount and estimated useful lives of intangible assets; the carrying amount of operating lease right-of-use assets and operating lease liabilities; determining share-based compensation expense; the valuation allowance for receivables; and determining the potential outcome of future tax consequences of events that have been recognized on our consolidated financial statements or tax returns. Actual results could differ from estimates.</span></div><div style="margin-top:12pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">REVENUE RECOGNITION</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Nature of Products and Services:</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We earn revenue from software licenses, royalties, subscription-based services, software services, post-contract customer support (&#8220;PCS&#8221; or &#8220;maintenance&#8221;), hardware, and appraisal services. Revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services. We determine revenue recognition through the following steps:</span></div><div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">Identification of the contract, or contracts with a customer</span></div><div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">Identification of the performance obligations in the contract </span></div><div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">Determination of the transaction price</span></div><div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">Allocation of the transaction price to the performance obligations in the contract</span></div><div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#8226;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;">Recognition of revenue when, or as, we satisfy a performance obligation</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Most of our software arrangements with customers contain multiple performance obligations that range from software licenses, installation, training, and consulting to software modification and customization to meet specific customer needs (services), hosting, and PCS. For these contracts, we account for individual performance obligations separately when they are distinct. We evaluate whether separate performance obligations can be distinct or should be accounted for as one performance obligation. Arrangements that include software services, such as training or installation, are evaluated to determine whether the customer can benefit from the services either on their own or together with other resources readily available to the customer and whether the services are separately identifiable from other promises in the contract. The transaction price is allocated to the distinct performance obligations on a relative SSP basis. We determine the SSP based on our overall pricing objectives, taking into consideration market conditions and other factors, including the value of our contracts, the applications sold, customer demographics, and the number and types of users within our contracts. Revenue is recognized net of allowances for sales adjustments and any taxes collected from customers, which are subsequently remitted to governmental authorities.</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Significant Judgments:</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Our contracts with customers often include multiple performance obligations to a customer. When a software arrangement (license or subscription) includes both software licenses and software services, judgment is required to determine whether the software license is considered distinct and accounted for separately, or not distinct and accounted for together with the software services and recognized over time. </span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The transaction price is allocated to the separate performance obligations on a relative SSP basis. We determine the SSP based on our overall pricing objectives, taking into consideration market conditions and other factors, including the value of our contracts, the applications sold, customer demographics, and the number and types of users within our contracts.</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%;"> </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We use a range of amounts to estimate SSP when we sell each of the products and services separately and need to determine whether there is a discount to be allocated based on the relative SSP of the various products and services. In instances where SSP is not directly observable, such as when we do not sell the product or service separately, we determine SSP using the expected cost-plus margin approach.</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">For arrangements that involve significant production, modification or customization of the software, or where software services otherwise cannot be considered distinct, we recognize revenue as control is transferred to the customer over time using progress-to-completion methods. Depending on the contract, we measure progress-to-completion primarily using labor hours incurred, or value added. The progress-to-completion method generally results in the recognition of reasonably consistent profit margins over the life of a contract because we can provide reasonably dependable estimates of contract billings and contract costs. We use the level of profit margin that is most likely to occur on a contract. If the most likely profit margin cannot be precisely determined, the lowest probable level of profit margin in the range of estimates is used until the results can be estimated more precisely. These arrangements are often implemented over an extended time period and occasionally require us to revise total cost estimates. Amounts recognized in revenue are calculated using the progress-to-completion measurement after giving effect to any changes in our cost estimates. Changes to total estimated contract costs, if any, are recorded in the period they are determined. Estimated losses on uncompleted contracts are recorded in the period in which we first determine that a loss is apparent.</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Typically, the structure of our arrangements does not give rise to variable consideration. However, in those instances whereby variable consideration exists, we include in our estimates additional revenue for variable consideration when we believe we have an enforceable right, the amount can be estimated reliably and its realization is probable.</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Refer to Note 13 - "Disaggregation of Revenue" for further information, including the economic factors that affect the nature, amount, timing, and uncertainty of revenue and cash flows of our various revenue categories.</span></div><div style="margin-top:6pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;">Contract Balances:</span></div><div style="margin-top:6pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Accounts receivable and allowance for losses and sales adjustments</span></div><div style="margin-top:12pt;margin-bottom:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Timing of revenue recognition may differ from the timing of invoicing to customers. We record an unbilled receivable when revenue is recognized prior to invoicing, or deferred revenue when revenue is recognized subsequent to invoicing. For multi-year agreements, we generally invoice customers annually at the beginning of each annual coverage period. We record an unbilled receivable related to revenue recognized for on-premises licenses as we have an unconditional right to invoice and receive payment in the future related to those licenses.</span></div><div style="margin-top:12pt;margin-bottom:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">At March&#160;31, 2020, and December&#160;31, 2019, total current and long-term accounts receivable, net of allowance for losses and sales adjustments, was $339.5 million and $396.5 million, respectively. We have recorded unbilled receivables of $134.5 million and $134.0 million at March&#160;31, 2020, and December&#160;31, 2019, respectively. Included in unbilled receivables are retention receivables of $12.5 million and $13.1 million at March&#160;31, 2020, and December&#160;31, 2019, respectively, which become payable upon the completion of the contract or completion of our fieldwork and formal hearings. Unbilled receivables expected to be collected within one year have been included with accounts receivable, current portion in the accompanying condensed consolidated balance sheets. Unbilled receivables and retention receivables expected to be collected past one year have been included with accounts receivable, long-term portion in the accompanying condensed consolidated balance sheets.</span></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;">We maintain allowances for losses and sales adjustments, which losses are recorded against revenue at the time of the loss is incurred. Since most of our clients are domestic governmental entities, we rarely incur a loss resulting from the inability of a client to make required payments. Events or changes in circumstances that indicate the carrying amount for the allowances for losses and sales  adjustments may require revision, include, but are not limited to, managing our client&#8217;s expectations regarding the scope of the services to be delivered and defects or errors in new versions or enhancements of our software products. Our allowance for losses and sales adjustments of $6.5 million at March&#160;31, 2020, does not include provisions for credit losses. As of January 1, 2020, we adopted ASU 2016-13</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;"> Financial Instruments - Credit Losses </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;">and primarily evaluated our historical experience with credit losses related to trade and other receivables. Because we have not experienced any historical credit losses with the majority of our clients, we have no basis to record a reserve for credit losses as defined by the standard.</span></div><div style="margin-top:12pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">RECENTLY ADOPTED ACCOUNTING PRONOUNCEMENTS</span></div><div style="margin-top:6pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">In June 2016, the FASB issued ASU 2016-13,&#160;</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Financial Instruments -&#160;Credit&#160;Losses,</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">&#160;(&#8220;ASU 2016-13&#8221;). ASU 2016-13 changes the impairment model for most financial assets and certain other instruments, including trade and other receivables, available for-sale debt securities, held-to-maturity debt securities and loans, and requires entities to use a new forward-looking expected loss model that will result in the earlier recognition of an allowance for losses. This update is effective for fiscal years beginning after December 15, 2019, including interim periods within those fiscal years. Early adoption is permitted for a fiscal year beginning after December 15, 2018, including interim periods within that fiscal year. Entities apply the standard&#8217;s provisions as a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is adopted.  As of January 1, 2020, we adopted the new standard with no material impact of credit losses to our trade and other receivables, held-to-maturity debt securities and retained earnings included in our condensed consolidated financial statements.</span></div><div style="margin-top:12pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">RECENTLY ISSUED ACCOUNTING PRONOUNCEMENTS</span></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:107%;">Accounting for Income Taxes </span></div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">In December 2019, the FASB issued ASU 2019-12,</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"> Simplifying the Accounting for Income Taxes</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">, ("ASU 2019-12") which simplifies the accounting for income taxes, eliminates certain exceptions within ASC 740, </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Income Taxes</span>, and clarifies certain aspects of the current guidance to promote consistency among reporting entities. The new standard is effective for fiscal years beginning after December 15, 2020. Most amendments within the standard are required to be applied on a prospective basis, while certain amendments must be applied on a retrospective or modified retrospective basis. The Company does not expect adoption of this standard to have a material effect on the Company&#8217;s consolidated financial statements.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -URI http://asc.fasb.org/topic&amp;trid=2122369<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6801575120">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts receivable, allowance for doubtful accounts</a></td>
<td class="nump">$ 6,470<span></span>
</td>
<td class="nump">$ 5,738<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockParOrStatedValuePerShare', window );">Preferred stock, par value (usd per share)</a></td>
<td class="nump">$ 10.00<span></span>
</td>
<td class="nump">$ 10.00<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesAuthorized', window );">Preferred stock, shares authorized (shares)</a></td>
<td class="nump">1,000,000<span></span>
</td>
<td class="nump">1,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockSharesIssued', window );">Preferred stock, shares issued (shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (usd per share)</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (shares)</a></td>
<td class="nump">100,000,000<span></span>
</td>
<td class="nump">100,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued (shares)</a></td>
<td class="nump">48,147,969<span></span>
</td>
<td class="nump">48,147,969<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding (shares)</a></td>
<td class="nump">48,147,969<span></span>
</td>
<td class="nump">48,147,969<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockShares', window );">Treasury stock (shares)</a></td>
<td class="nump">8,397,086<span></span>
</td>
<td class="nump">8,839,352<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118936363&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118955202&amp;loc=SL82895884-210446<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6802473104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Schedule of lease cost (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating lease cost</a></td>
<td class="nump">$ 1,666<span></span>
</td>
<td class="nump">$ 1,370<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShortTermLeaseCost', window );">Short-term lease cost</a></td>
<td class="nump">574<span></span>
</td>
<td class="nump">570<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_VariableLeaseCost', window );">Variable lease cost</a></td>
<td class="nump">394<span></span>
</td>
<td class="nump">163<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseCost', window );">Net lease cost</a></td>
<td class="nump">$ 2,634<span></span>
</td>
<td class="nump">$ 2,103<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lease cost recognized by lessee for lease contract.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term lease cost, excluding expense for lease with term of one month or less.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6800166176">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Schedule of future minimum operating rental income (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2019 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths', window );">2020 (Remaining 2020)</a></td>
<td class="nump">$ 1,009<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears', window );">2021</a></td>
<td class="nump">1,372<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears', window );">2022</a></td>
<td class="nump">1,402<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears', window );">2023</a></td>
<td class="nump">1,432<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFiveYears', window );">2024</a></td>
<td class="nump">1,462<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThereafter', window );">Thereafter</a></td>
<td class="nump">857<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LessorOperatingLeasePaymentsToBeReceived', window );">Total</a></td>
<td class="nump">$ 7,534<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LessorOperatingLeasePaymentsToBeReceived">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lease payments to be received by lessor for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=119202524&amp;loc=SL77919396-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LessorOperatingLeasePaymentsToBeReceived</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFiveYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lease payments to be received by lessor in fifth fiscal year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=119202524&amp;loc=SL77919396-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LessorOperatingLeasePaymentsToBeReceivedFiveYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lease payments to be received by lessor in fourth year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=119202524&amp;loc=SL77919396-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lease payments to be received by lessor in next fiscal year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=119202524&amp;loc=SL77919396-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThereafter">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lease payments to be received by lessor after fifth fiscal year following latest statement of financial position date for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=119202524&amp;loc=SL77919396-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LessorOperatingLeasePaymentsToBeReceivedThereafter</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lease payments to be received by lessor in third fiscal year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=119202524&amp;loc=SL77919396-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lease payments to be received by lessor in second fiscal year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=119202524&amp;loc=SL77919396-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6801786480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Deferred Revenue and Performance Obligations - Deferred Revenue (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2020 </div>
<div>USD ($)</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Deferred revenue</a></td>
<td class="nump">$ 366,126<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_ContractWithCustomerLiabilityRollForward', window );"><strong>Contract With Customer Liability</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Balance as of December 31, 2019</a></td>
<td class="nump">412,694<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_ContractWithCustomerLiabilityIncreaseFromDeferral', window );">Deferral of revenue</a></td>
<td class="nump">198,324<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized', window );">Recognition of deferred revenue</a></td>
<td class="num">(244,892)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Balance as of March 31, 2020</a></td>
<td class="nump">366,126<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segments | Enterprise Software</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Deferred revenue</a></td>
<td class="nump">375,838<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_ContractWithCustomerLiabilityRollForward', window );"><strong>Contract With Customer Liability</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Balance as of December 31, 2019</a></td>
<td class="nump">375,838<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Balance as of March 31, 2020</a></td>
<td class="nump">333,314<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segments | Appraisal&#160;and&#160;Tax</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Deferred revenue</a></td>
<td class="nump">35,487<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_ContractWithCustomerLiabilityRollForward', window );"><strong>Contract With Customer Liability</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Balance as of December 31, 2019</a></td>
<td class="nump">35,487<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Balance as of March 31, 2020</a></td>
<td class="nump">31,205<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember', window );">Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Deferred revenue</a></td>
<td class="nump">1,369<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_ContractWithCustomerLiabilityRollForward', window );"><strong>Contract With Customer Liability</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Balance as of December 31, 2019</a></td>
<td class="nump">1,369<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiability', window );">Balance as of March 31, 2020</a></td>
<td class="nump">$ 1,607<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tyl_ContractWithCustomerLiabilityIncreaseFromDeferral">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contract With Customer, Liability, Increase From Deferral</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tyl_ContractWithCustomerLiabilityIncreaseFromDeferral</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tyl_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tyl_ContractWithCustomerLiabilityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Contract With Customer Liability [Roll Forward]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tyl_ContractWithCustomerLiabilityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tyl_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130532-203044<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=tyl_EnterpriseSoftwareMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=tyl_EnterpriseSoftwareMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=tyl_AppraisalAndTaxMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=tyl_AppraisalAndTaxMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6799343216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Disaggregation of Revenue<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Disaggregation of Revenue</a></td>
<td class="text">Deferred CommissionsSales commissions earned by our sales force are considered incremental and recoverable costs of obtaining a contract with a customer. Sales commissions for initial contracts are deferred and then amortized commensurate with the recognition of associated revenue over a period of benefit that we have determined to be <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfMzQ3_ffd0ccce-aade-4ac4-927b-cf2eaf701cc5">three</span> to seven years. Deferred commissions were&#160;$30.9 million&#160;and $29.8 million as of March&#160;31, 2020,&#160;and&#160;December&#160;31, 2019, respectively. Amortization expense was $3.9 million for the&#160;three months ended March&#160;31, 2020, and&#160;$3.8 million for the&#160;three months ended March&#160;31, 2019. There were no indicators of impairment in relation to the costs capitalized for the periods presented. Deferred commissions have been included with prepaid expenses for the current portion and non-current other assets for the long-term portion in the accompanying condensed consolidated balance sheets. Amortization expense related to deferred commissions is included in Selling, general and administrative expenses in the accompanying condensed consolidated statements of income.Disaggregation of Revenue<div style="text-indent:-9pt;margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">    The tables below show disaggregation of revenue into categories that reflect how economic factors affect the nature, amount, timing, and uncertainty of revenue and cash flows.</span></div><div style="text-indent:-9pt;margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">    Timing of Revenue Recognition</span></div><div style="text-indent:-9pt;margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">    Timing of revenue recognition by revenue category during the period is as follows:</span></div><div style="text-align:center;margin-top:12pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"/><td style="width:43.078%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.546%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.546%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.691%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Products and services transferred at a point in time</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Products and services transferred over time</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses and royalties</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">16,066&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,671&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18,737&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Subscriptions</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">81,723&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">81,723&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">52,133&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">52,133&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Maintenance</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">114,365&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">114,365&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,763&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,763&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,820&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,820&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">19,886&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">256,655&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">276,541&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"/><td style="width:43.301%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.501%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.531%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.501%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.531%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.501%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.534%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Products and services transferred at a point in time</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Products and services transferred over time</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses and royalties</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">16,910&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,883&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21,793&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Subscriptions</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">67,275&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">67,275&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">48,443&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">48,443&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Maintenance</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">100,152&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">100,152&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,214&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,214&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,189&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,189&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21,099&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">225,967&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">247,066&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="text-align:center;"><span><br/></span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Recurring Revenue </span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The majority of our revenue is comprised of recurring revenues from maintenance and subscriptions. Virtually all of our on-premises software clients contract with us for maintenance and support, which provides us with a significant source of recurring revenue. We generally provide maintenance and support for our on-premises clients under annual, or in some cases, multi-year contracts. The contract terms for subscription arrangements range from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RleHRyZWdpb246ZjZmYmIxMzk5MWYxNGUzY2EwYjVmMDBlZDc2ZGNkZDZfODMy_52445c18-6c01-4972-858f-87b95f845d8e">one</span> to 10 years but are typically contracted for initial periods of <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RleHRyZWdpb246ZjZmYmIxMzk5MWYxNGUzY2EwYjVmMDBlZDc2ZGNkZDZfODkz_c5a35317-6090-49f0-80d4-0ed5be63f368">three</span> to five years, providing a significant source of recurring revenues on an annual basis. Non-recurring revenues are derived from all other revenue categories. </span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Recurring revenues and non-recurring revenues recognized during the period are as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"/><td style="width:45.503%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.415%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise<br/>Software</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td></tr><tr><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Recurring revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">181,485&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,603&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">196,088&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-recurring revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">64,691&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">15,760&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">80,453&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Intercompany</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,001&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4,019)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">250,177&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">30,381&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4,017)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">276,541&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="text-align:center;margin-top:9pt;"><span><br/></span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"/><td style="width:45.503%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.415%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise<br/>Software</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td></tr><tr><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Recurring revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">154,443&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12,984&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">167,427&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-recurring revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">63,108&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">16,534&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">79,639&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Intercompany</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,484&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">69&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3,553)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">221,035&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">29,587&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3,556)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">247,066&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div>Deferred Revenue and Performance Obligations<div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Total deferred revenue, including long-term, by segment is as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:75.877%;"><tr><td style="width:1.0%;"/><td style="width:48.674%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.763%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:21.699%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.763%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:21.701%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise Software</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">333,314&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">375,838&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">31,205&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">35,487&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,607&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,369&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">366,126&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">412,694&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Changes in total deferred revenue, including long-term, were as follows:</span></div><div><span><br/></span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:76.754%;"><tr><td style="width:1.0%;"/><td style="width:73.238%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.133%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:21.429%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three months ended March 31, 2020</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of December 31, 2019</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">412,694&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Deferral of revenue</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">198,324&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Recognition of deferred revenue</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(244,892)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of March 31, 2020</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">366,126&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Transaction Price Allocated to the Remaining Performance Obligations</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The aggregate amount of transaction price allocated to the remaining performance obligations represents contracted revenue that has not yet been recognized ("backlog"), which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods. Backlog as of March&#160;31, 2020, was $1.50 billion, of which we expect to recognize approximately 48% as revenue over the next 12 months and the remainder thereafter.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI http://asc.fasb.org/topic&amp;trid=49130388<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6806618928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings Per Share<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Earnings Per Share</a></td>
<td class="text">Earnings Per Share<div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table details the reconciliation of basic earnings per share to diluted earnings per share:</span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:69.152%;"><tr><td style="width:1.0%;"/><td style="width:65.441%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.857%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.587%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.857%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:13.858%;"/><td style="width:1.0%;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Numerator for basic and diluted earnings per share:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net income</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">47,550&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">27,348&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted-average basic common shares outstanding</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">39,500&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">38,308&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Assumed conversion of dilutive securities:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Stock awards</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,644&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,277&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><div style="text-indent:6.75pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;">Denominator for diluted earnings per share</span></div><div style="text-indent:6.75pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;">&#160;&#160; - Adjusted weighted-average shares</span></div></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">41,144&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">39,585&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Earnings per common share:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Basic</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1.20&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">0.71&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Diluted</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1.16&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">0.69&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr></table></div>For the three months ended March&#160;31, 2020, and March&#160;31, 2019, stock awards representing the right to purchase common stock of approximately 79,000 shares and 1,253,000 shares, respectively, were not included in the computation of diluted earnings per share because their inclusion would have had an antidilutive effect.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -URI http://asc.fasb.org/topic&amp;trid=2144383<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6603564208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Deferred Commissions<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Deferred Commissions</a></td>
<td class="text">Deferred CommissionsSales commissions earned by our sales force are considered incremental and recoverable costs of obtaining a contract with a customer. Sales commissions for initial contracts are deferred and then amortized commensurate with the recognition of associated revenue over a period of benefit that we have determined to be <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfMzQ3_ffd0ccce-aade-4ac4-927b-cf2eaf701cc5">three</span> to seven years. Deferred commissions were&#160;$30.9 million&#160;and $29.8 million as of March&#160;31, 2020,&#160;and&#160;December&#160;31, 2019, respectively. Amortization expense was $3.9 million for the&#160;three months ended March&#160;31, 2020, and&#160;$3.8 million for the&#160;three months ended March&#160;31, 2019. There were no indicators of impairment in relation to the costs capitalized for the periods presented. Deferred commissions have been included with prepaid expenses for the current portion and non-current other assets for the long-term portion in the accompanying condensed consolidated balance sheets. Amortization expense related to deferred commissions is included in Selling, general and administrative expenses in the accompanying condensed consolidated statements of income.Disaggregation of Revenue<div style="text-indent:-9pt;margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">    The tables below show disaggregation of revenue into categories that reflect how economic factors affect the nature, amount, timing, and uncertainty of revenue and cash flows.</span></div><div style="text-indent:-9pt;margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">    Timing of Revenue Recognition</span></div><div style="text-indent:-9pt;margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">    Timing of revenue recognition by revenue category during the period is as follows:</span></div><div style="text-align:center;margin-top:12pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"/><td style="width:43.078%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.546%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.546%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.691%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Products and services transferred at a point in time</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Products and services transferred over time</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses and royalties</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">16,066&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,671&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18,737&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Subscriptions</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">81,723&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">81,723&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">52,133&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">52,133&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Maintenance</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">114,365&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">114,365&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,763&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,763&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,820&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,820&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">19,886&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">256,655&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">276,541&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"/><td style="width:43.301%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.501%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.531%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.501%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.531%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.501%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.534%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Products and services transferred at a point in time</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Products and services transferred over time</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses and royalties</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">16,910&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,883&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21,793&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Subscriptions</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">67,275&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">67,275&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">48,443&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">48,443&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Maintenance</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">100,152&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">100,152&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,214&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,214&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,189&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,189&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21,099&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">225,967&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">247,066&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="text-align:center;"><span><br/></span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Recurring Revenue </span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The majority of our revenue is comprised of recurring revenues from maintenance and subscriptions. Virtually all of our on-premises software clients contract with us for maintenance and support, which provides us with a significant source of recurring revenue. We generally provide maintenance and support for our on-premises clients under annual, or in some cases, multi-year contracts. The contract terms for subscription arrangements range from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RleHRyZWdpb246ZjZmYmIxMzk5MWYxNGUzY2EwYjVmMDBlZDc2ZGNkZDZfODMy_52445c18-6c01-4972-858f-87b95f845d8e">one</span> to 10 years but are typically contracted for initial periods of <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RleHRyZWdpb246ZjZmYmIxMzk5MWYxNGUzY2EwYjVmMDBlZDc2ZGNkZDZfODkz_c5a35317-6090-49f0-80d4-0ed5be63f368">three</span> to five years, providing a significant source of recurring revenues on an annual basis. Non-recurring revenues are derived from all other revenue categories. </span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Recurring revenues and non-recurring revenues recognized during the period are as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"/><td style="width:45.503%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.415%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise<br/>Software</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td></tr><tr><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Recurring revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">181,485&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,603&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">196,088&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-recurring revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">64,691&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">15,760&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">80,453&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Intercompany</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,001&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4,019)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">250,177&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">30,381&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4,017)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">276,541&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="text-align:center;margin-top:9pt;"><span><br/></span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"/><td style="width:45.503%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.415%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise<br/>Software</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td></tr><tr><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Recurring revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">154,443&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12,984&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">167,427&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-recurring revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">63,108&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">16,534&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">79,639&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Intercompany</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,484&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">69&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3,553)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">221,035&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">29,587&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3,556)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">247,066&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div>Deferred Revenue and Performance Obligations<div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Total deferred revenue, including long-term, by segment is as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:75.877%;"><tr><td style="width:1.0%;"/><td style="width:48.674%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.763%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:21.699%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.763%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:21.701%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise Software</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">333,314&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">375,838&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">31,205&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">35,487&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,607&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,369&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">366,126&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">412,694&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Changes in total deferred revenue, including long-term, were as follows:</span></div><div><span><br/></span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:76.754%;"><tr><td style="width:1.0%;"/><td style="width:73.238%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.133%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:21.429%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three months ended March 31, 2020</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of December 31, 2019</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">412,694&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Deferral of revenue</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">198,324&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Recognition of deferred revenue</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(244,892)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of March 31, 2020</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">366,126&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Transaction Price Allocated to the Remaining Performance Obligations</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The aggregate amount of transaction price allocated to the remaining performance obligations represents contracted revenue that has not yet been recognized ("backlog"), which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods. Backlog as of March&#160;31, 2020, was $1.50 billion, of which we expect to recognize approximately 48% as revenue over the next 12 months and the remainder thereafter.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI http://asc.fasb.org/topic&amp;trid=49130388<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6797521424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Acquisitions - Narrative (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Feb. 28, 2020</div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment of contingent consideration</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,619<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionAxis=tyl_MPHoldingsParentInc.dbaMicroPactMember', window );">MicroPact</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_BusinessAcquisitionLineItems', window );"><strong>Business Acquisition</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities', window );">Payment of contingent consideration</a></td>
<td class="nump">$ 5,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3291-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessAcquisitionAxis=tyl_MPHoldingsParentInc.dbaMicroPactMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessAcquisitionAxis=tyl_MPHoldingsParentInc.dbaMicroPactMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6820102064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Assets (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireHeldToMaturitySecurities', window );">Purchase of held to maturity securities</a></td>
<td class="nump">$ 90,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InterestReceivable', window );">Interest receivable</a></td>
<td class="nump">493<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfEquityMethodInvestments', window );">Proceeds from the sale of investment in preferred shares</a></td>
<td class="nump">15,000<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireEquityMethodInvestments', window );">Purchase of equity investment common shares</a></td>
<td class="nump">10,000<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=tyl_RecordHoldingsPtyLimitedMember', window );">Record Holdings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems', window );"><strong>Schedule of Equity Method Investments</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfEquityMethodInvestments', window );">Proceeds from the sale of investment in preferred shares</a></td>
<td class="nump">$ 15,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityMethodInvestmentOwnershipPercentage', window );">Ownership percentage (percent)</a></td>
<td class="nump">18.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireEquityMethodInvestments', window );">Purchase of equity investment common shares</a></td>
<td class="nump">$ 10,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityMethodInvestmentOwnershipPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 323<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=114001798&amp;loc=d3e33918-111571<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityMethodInvestmentOwnershipPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of interest earned but not received. Also called accrued interest or accrued interest receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.8)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the purchase of or advances to an equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3213-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireHeldToMaturitySecurities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow through purchase of long-term held-to-maturity securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3213-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=118954083&amp;loc=d3e26853-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireHeldToMaturitySecurities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfEquityMethodInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cash inflow associated with the sale of equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3179-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfEquityMethodInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEquityMethodInvestmentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEquityMethodInvestmentsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=tyl_RecordHoldingsPtyLimitedMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis=tyl_RecordHoldingsPtyLimitedMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6799300928">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings Per Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Computation of reconciliation of basic earnings per share to diluted earnings per share</a></td>
<td class="text"><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table details the reconciliation of basic earnings per share to diluted earnings per share:</span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:69.152%;"><tr><td style="width:1.0%;"/><td style="width:65.441%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.857%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.587%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.857%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:13.858%;"/><td style="width:1.0%;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Numerator for basic and diluted earnings per share:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net income</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">47,550&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">27,348&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted-average basic common shares outstanding</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">39,500&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">38,308&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Assumed conversion of dilutive securities:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Stock awards</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,644&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,277&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><div style="text-indent:6.75pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;">Denominator for diluted earnings per share</span></div><div style="text-indent:6.75pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;">&#160;&#160; - Adjusted weighted-average shares</span></div></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">41,144&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">39,585&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Earnings per common share:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Basic</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1.20&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">0.71&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Diluted</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1.16&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">0.69&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6799349376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text">Commitments and ContingenciesOther than routine litigation incidental to our business, there are no material legal proceedings pending to which we are party or to which any of our properties are subject.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -URI http://asc.fasb.org/topic&amp;trid=2127136<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 440<br> -URI http://asc.fasb.org/topic&amp;trid=2144648<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6608755136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Disaggregation of Revenue (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Schedule of disaggregation of revenue</a></td>
<td class="text">Timing of revenue recognition by revenue category during the period is as follows:<table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"/><td style="width:43.078%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.546%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.546%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.691%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Products and services transferred at a point in time</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Products and services transferred over time</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses and royalties</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">16,066&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,671&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18,737&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Subscriptions</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">81,723&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">81,723&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">52,133&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">52,133&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Maintenance</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">114,365&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">114,365&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,763&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,763&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,820&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,820&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">19,886&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">256,655&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">276,541&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"/><td style="width:43.301%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.501%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.531%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.501%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.531%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.501%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.534%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Products and services transferred at a point in time</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Products and services transferred over time</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses and royalties</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">16,910&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,883&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21,793&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Subscriptions</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">67,275&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">67,275&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">48,443&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">48,443&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Maintenance</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">100,152&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">100,152&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,214&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,214&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,189&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,189&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21,099&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">225,967&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">247,066&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Recurring revenues and non-recurring revenues recognized during the period are as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"/><td style="width:45.503%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.415%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise<br/>Software</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td></tr><tr><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Recurring revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">181,485&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,603&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">196,088&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-recurring revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">64,691&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">15,760&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">80,453&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Intercompany</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,001&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4,019)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">250,177&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">30,381&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4,017)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">276,541&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="text-align:center;margin-top:9pt;"><span><br/></span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"/><td style="width:45.503%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.415%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise<br/>Software</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td></tr><tr><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Recurring revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">154,443&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12,984&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">167,427&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-recurring revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">63,108&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">16,534&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">79,639&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Intercompany</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,484&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">69&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3,553)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">221,035&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">29,587&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3,556)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">247,066&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.20.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>189</ContextCount>
  <ElementCount>288</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>44</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>7</UnitCount>
  <MyReports>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>1001001 - Statement - Cover</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/Cover</Role>
      <ShortName>Cover</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>1002002 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>1003003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>1004004 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>1005005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>1006006 - Statement - CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY</Role>
      <ShortName>CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>2101101 - Disclosure - Basis of Presentation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/BasisofPresentation</Role>
      <ShortName>Basis of Presentation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>2102102 - Disclosure - Accounting Standards and Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPolicies</Role>
      <ShortName>Accounting Standards and Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>2105103 - Disclosure - Acquisitions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/Acquisitions</Role>
      <ShortName>Acquisitions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>2107104 - Disclosure - Shareholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/ShareholdersEquity</Role>
      <ShortName>Shareholders' Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>2111105 - Disclosure - Deferred Commissions</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/DeferredCommissions</Role>
      <ShortName>Deferred Commissions</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>2113106 - Disclosure - Other Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/OtherAssets</Role>
      <ShortName>Other Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>2115107 - Disclosure - Revolving Line of Credit</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/RevolvingLineofCredit</Role>
      <ShortName>Revolving Line of Credit</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>2117108 - Disclosure - Income Tax Provision</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/IncomeTaxProvision</Role>
      <ShortName>Income Tax Provision</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>2119109 - Disclosure - Earnings Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/EarningsPerShare</Role>
      <ShortName>Earnings Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>2123110 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>2131111 - Disclosure - Share-Based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/ShareBasedCompensation</Role>
      <ShortName>Share-Based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>2134112 - Disclosure - Segment and Related Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/SegmentandRelatedInformation</Role>
      <ShortName>Segment and Related Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>2139113 - Disclosure - Disaggregation of Revenue</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/DisaggregationofRevenue</Role>
      <ShortName>Disaggregation of Revenue</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>2143114 - Disclosure - Deferred Revenue and Performance Obligations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/DeferredRevenueandPerformanceObligations</Role>
      <ShortName>Deferred Revenue and Performance Obligations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>2147115 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/CommitmentsandContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>2149116 - Disclosure - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/SubsequentEvents</Role>
      <ShortName>Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>2203201 - Disclosure - Accounting Standards and Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Accounting Standards and Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPolicies</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>2308301 - Disclosure - Shareholders' Equity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/ShareholdersEquityTables</Role>
      <ShortName>Shareholders' Equity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.tylertech.com/role/ShareholdersEquity</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>2320302 - Disclosure - Earnings Per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/EarningsPerShareTables</Role>
      <ShortName>Earnings Per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.tylertech.com/role/EarningsPerShare</ParentRole>
      <Position>25</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>2324303 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.tylertech.com/role/Leases</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>2332304 - Disclosure - Share-Based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/ShareBasedCompensationTables</Role>
      <ShortName>Share-Based Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.tylertech.com/role/ShareBasedCompensation</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>2335305 - Disclosure - Segment and Related Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/SegmentandRelatedInformationTables</Role>
      <ShortName>Segment and Related Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.tylertech.com/role/SegmentandRelatedInformation</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>2340306 - Disclosure - Disaggregation of Revenue (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/DisaggregationofRevenueTables</Role>
      <ShortName>Disaggregation of Revenue (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.tylertech.com/role/DisaggregationofRevenue</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>2344307 - Disclosure - Deferred Revenue and Performance Obligations (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsTables</Role>
      <ShortName>Deferred Revenue and Performance Obligations (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.tylertech.com/role/DeferredRevenueandPerformanceObligations</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>2404401 - Disclosure - Accounting Standards and Significant Accounting Policies - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails</Role>
      <ShortName>Accounting Standards and Significant Accounting Policies - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>31</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>2406402 - Disclosure - Acquisitions - Narrative (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/AcquisitionsNarrativeDetails</Role>
      <ShortName>Acquisitions - Narrative (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>32</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>2409403 - Disclosure - Shareholders' Equity - Summary of Activities in Common Stock (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/ShareholdersEquitySummaryofActivitiesinCommonStockDetail</Role>
      <ShortName>Shareholders' Equity - Summary of Activities in Common Stock (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>33</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>2410404 - Disclosure - Shareholders' Equity - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/ShareholdersEquityAdditionalInformationDetail</Role>
      <ShortName>Shareholders' Equity - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>34</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>2412405 - Disclosure - Deferred Commissions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/DeferredCommissionsDetails</Role>
      <ShortName>Deferred Commissions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.tylertech.com/role/DeferredCommissions</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>2414406 - Disclosure - Other Assets (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/OtherAssetsDetail</Role>
      <ShortName>Other Assets (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.tylertech.com/role/OtherAssets</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>2416407 - Disclosure - Revolving Line of Credit (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/RevolvingLineofCreditDetail</Role>
      <ShortName>Revolving Line of Credit (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.tylertech.com/role/RevolvingLineofCredit</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>2418408 - Disclosure - Income Tax Provision (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/IncomeTaxProvisionDetail</Role>
      <ShortName>Income Tax Provision (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.tylertech.com/role/IncomeTaxProvision</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>2421409 - Disclosure - Earnings Per Share - Computation of Basic Earnings and Diluted Earnings Per Share Data (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail</Role>
      <ShortName>Earnings Per Share - Computation of Basic Earnings and Diluted Earnings Per Share Data (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>2422410 - Disclosure - Earnings Per Share - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/EarningsPerShareAdditionalInformationDetail</Role>
      <ShortName>Earnings Per Share - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>2425411 - Disclosure - Leases - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/LeasesAdditionalInformationDetails</Role>
      <ShortName>Leases - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>2426412 - Disclosure - Leases - Schedule of lease cost (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/LeasesScheduleofleasecostDetails</Role>
      <ShortName>Leases - Schedule of lease cost (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>2427413 - Disclosure - Leases - Schedule of leases assets and liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/LeasesScheduleofleasesassetsandliabilitiesDetails</Role>
      <ShortName>Leases - Schedule of leases assets and liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>43</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>2428414 - Disclosure - Leases - Schedule of other information related to leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/LeasesScheduleofotherinformationrelatedtoleasesDetails</Role>
      <ShortName>Leases - Schedule of other information related to leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>2429415 - Disclosure - Leases - Maturity of lease liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails</Role>
      <ShortName>Leases - Maturity of lease liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>2430416 - Disclosure - Leases - Schedule of future minimum operating rental income (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails</Role>
      <ShortName>Leases - Schedule of future minimum operating rental income (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>2433417 - Disclosure - Share-Based Compensation (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/ShareBasedCompensationDetail</Role>
      <ShortName>Share-Based Compensation (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.tylertech.com/role/ShareBasedCompensationTables</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>2436418 - Disclosure - Segment and Related Information - Additional Information (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/SegmentandRelatedInformationAdditionalInformationDetail</Role>
      <ShortName>Segment and Related Information - Additional Information (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>2437419 - Disclosure - Segment and Related Information - Schedule of Segment Revenues and Operations (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail</Role>
      <ShortName>Segment and Related Information - Schedule of Segment Revenues and Operations (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>2438420 - Disclosure - Segment and Related Information - Reconciliation of Operating Income from Segments to Consolidated (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail</Role>
      <ShortName>Segment and Related Information - Reconciliation of Operating Income from Segments to Consolidated (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>2441421 - Disclosure - Disaggregation of Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/DisaggregationofRevenueDetails</Role>
      <ShortName>Disaggregation of Revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.tylertech.com/role/DisaggregationofRevenueTables</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>2442422 - Disclosure - Disaggregation of Revenue - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/DisaggregationofRevenueAdditionalInformationDetails</Role>
      <ShortName>Disaggregation of Revenue - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>2445423 - Disclosure - Deferred Revenue and Performance Obligations - Deferred Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails</Role>
      <ShortName>Deferred Revenue and Performance Obligations - Deferred Revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>2446424 - Disclosure - Deferred Revenue and Performance Obligations - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails</Role>
      <ShortName>Deferred Revenue and Performance Obligations - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="tyl-20200331.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>2448425 - Disclosure - Commitments and Contingencies (Detail)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.tylertech.com/role/CommitmentsandContingenciesDetail</Role>
      <ShortName>Commitments and Contingencies (Detail)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.tylertech.com/role/CommitmentsandContingencies</ParentRole>
      <Position>55</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-Q" original="tyl-20200331.htm">tyl-20200331.htm</File>
    <File>tyl-20200331.xsd</File>
    <File>tyl-20200331_cal.xml</File>
    <File>tyl-20200331_def.xml</File>
    <File>tyl-20200331_lab.xml</File>
    <File>tyl-20200331_pre.xml</File>
    <File>tyl3312020exhibit311.htm</File>
    <File>tyl3312020exhibit312.htm</File>
    <File>tyl3312020exhibit321.htm</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy>http://fasb.org/srt/2019-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://fasb.org/us-gaap/2019-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2019-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6803259520">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment and Related Information - Additional Information (Detail)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th">
<div>Mar. 31, 2020 </div>
<div>Business_Unit </div>
<div>Segment</div>
</th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_NumberOfBusinessUnits', window );">Number of business units | Business_Unit</a></td>
<td class="nump">7<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StatementBusinessSegmentsAxis=tyl_EnterpriseSoftwareMember', window );">Enterprise Software</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NumberOfReportableSegments', window );">Number of reportable segment | Segment</a></td>
<td class="nump">1<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tyl_NumberOfBusinessUnits">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of business units.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tyl_NumberOfBusinessUnits</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tyl_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NumberOfReportableSegments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NumberOfReportableSegments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=tyl_EnterpriseSoftwareMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=tyl_EnterpriseSoftwareMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6813248272">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Cumulative Effect, Period of Adoption, Adjustment</div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Accumulated Other Comprehensive Income (Loss)</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th">
<div>Retained Earnings </div>
<div>Cumulative Effect, Period of Adoption, Adjustment</div>
</th>
<th class="th"><div>Treasury Stock</div></th>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2018</a></td>
<td class="nump">$ 1,324,846<span></span>
</td>
<td class="num">$ (1,116)<span></span>
</td>
<td class="nump">$ 481<span></span>
</td>
<td class="nump">$ 731,435<span></span>
</td>
<td class="num">$ (46)<span></span>
</td>
<td class="nump">$ 771,925<span></span>
</td>
<td class="num">$ (1,116)<span></span>
</td>
<td class="num">$ (178,949)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Beginning balance (in shares) at Dec. 31, 2018</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">48,148<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(9,872)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">27,348<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27,348<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Exercise of stock options and vesting of restricted stock units</a></td>
<td class="nump">$ 6,528<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(14,405)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 20,933<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Exercise of stock options and vesting of restricted stock units (in shares)</a></td>
<td class="nump">94<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">111<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Employee taxes paid for withheld shares upon equity award settlement</a></td>
<td class="num">$ (1,337)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (1,337)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Employee taxes paid for withheld shares upon equity award settlement (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock compensation</a></td>
<td class="nump">14,416<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14,416<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Issuance of shares pursuant to employee stock purchase plan</a></td>
<td class="nump">$ 2,349<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(373)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,722<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Issuance of shares pursuant to employee stock purchase plan (in shares)</a></td>
<td class="nump">15<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValueAcquiredCostMethod', window );">Treasury stock purchases</a></td>
<td class="num">$ (14,289)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (14,289)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockSharesAcquired', window );">Treasury stock purchases (in shares)</a></td>
<td class="num">(72)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(72)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Mar. 31, 2019</a></td>
<td class="nump">$ 1,358,745<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 481<span></span>
</td>
<td class="nump">731,073<span></span>
</td>
<td class="num">(46)<span></span>
</td>
<td class="nump">798,157<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (170,920)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Ending balance (in shares) at Mar. 31, 2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">48,148<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(9,825)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Dec. 31, 2019</a></td>
<td class="nump">1,617,058<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 481<span></span>
</td>
<td class="nump">739,478<span></span>
</td>
<td class="num">(46)<span></span>
</td>
<td class="nump">917,336<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (40,191)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Beginning balance (in shares) at Dec. 31, 2019</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">48,148<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(8,839)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">47,550<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation', window );">Exercise of stock options and vesting of restricted stock units</a></td>
<td class="nump">$ 46,236<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">38,942<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 7,294<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation', window );">Exercise of stock options and vesting of restricted stock units (in shares)</a></td>
<td class="nump">481<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">498<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Employee taxes paid for withheld shares upon equity award settlement</a></td>
<td class="num">$ (2,301)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (2,301)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Employee taxes paid for withheld shares upon equity award settlement (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(7)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock compensation</a></td>
<td class="nump">17,302<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,302<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Issuance of shares pursuant to employee stock purchase plan</a></td>
<td class="nump">$ 2,469<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,367<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 102<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Issuance of shares pursuant to employee stock purchase plan (in shares)</a></td>
<td class="nump">10<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValueAcquiredCostMethod', window );">Treasury stock purchases</a></td>
<td class="num">$ (15,482)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (15,482)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockSharesAcquired', window );">Treasury stock purchases (in shares)</a></td>
<td class="num">(59)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(59)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Balance at Mar. 31, 2020</a></td>
<td class="nump">$ 1,712,832<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 481<span></span>
</td>
<td class="nump">$ 798,089<span></span>
</td>
<td class="num">$ (46)<span></span>
</td>
<td class="nump">$ 964,886<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (50,578)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharesIssued', window );">Ending balance (in shares) at Mar. 31, 2020</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">48,148<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(8,397)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=118258462&amp;loc=d3e11149-113907<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5047-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=118258462&amp;loc=d3e11178-113907<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=116855982&amp;loc=d3e4534-113899<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of an employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5047-113901<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=116856206&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockSharesAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased during the period and are being held in treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockSharesAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValueAcquiredCostMethod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValueAcquiredCostMethod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6905178576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings Per Share - Additional Information (Detail) - shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Antidilutive securities excluded from computation of earnings per shares (in shares)</a></td>
<td class="nump">79<span></span>
</td>
<td class="nump">1,253<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6816532064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Schedule of other information related to leases (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Operating cash outflows from operating leases</a></td>
<td class="nump">$ 1,873<span></span>
</td>
<td class="nump">$ 1,530<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Operating leases</a></td>
<td class="nump">$ 457<span></span>
</td>
<td class="nump">$ 431<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average remaining lease term (years)</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate</a></td>
<td class="nump">4.00%<span></span>
</td>
<td class="nump">4.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918643-209977<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>47
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( *J&G5 ?(\\#P    !,"   +    7W)E;',O+G)E;'.MDD^+
MPD ,Q;]*F?L:5\'#8CUYZ6U9_ )Q)OU#.Y,A$[%^>X>];+=44/ 87O+>CT?V
M/S2@=AQ2V\54C'X(J32M:OP"2+8ECVG%D4)6:A:/FD=I(*+ML2'8K-<[D*F'
M.>RGGD7E2B.5^S3%":4A+<TXP)6E/S/WJVR;A5ND9T*YKCM+1[873T$7LF<;
M!I99-G\LCNVW<+ZT+/0:S>,*P).B0\5?UX^8 TBTH_0(:+L A#&^NQT:E8(C
M-R."?S]PN -02P,$%     @ JH:=4"?HAPZ"    L0   !    !D;V-0<F]P
M<R]A<' N>&UL38Y-"\(P$$3_2NG=;BGH06) L$?!D_>0;FP@R8;-"OGYIH(?
MMWF\81AU8\K(XK%T-8943OTJDH\ Q:X831F:3LTXXFBD(3^ G/,6+V2?$9/
M-(X'P"J8%EQV^3O8:W7..7AKQ%/25V^9"CGIYFHQ*/B76_..7+8\#?NW_+""
MWTG] E!+ P04    " "JAIU0JF6&DNX    K @  $0   &1O8U!R;W!S+V-O
M<F4N>&ULS9+!3L,P#(9?!>7>NLU@$E&7"X@32$A, G&+'&^+:-HH,6KW]K1A
MZX3@ 3C&_O/YL^0&@\(^TG/L T5VE*Y&WW9)8=B( W-0  D/Y$TJIT0W-7=]
M](:G9]Q#,/AA]@2RJM;@B8TU;& &%F$A"MU85!C)<!]/>(L+/GS&-L,L K7D
MJ>,$=5F#T//$<!S;!BZ &<84??HND%V(N?HG-G= G))C<DMJ&(9R6.7<M$,-
M;T^/+WG=PG6)38<T_4I.\3'01IPGOZ[N[K</0LM*5D5U7<C;;;U6-U))^3Z[
M_O"["/O>NIW[Q\9G0=W K[O07U!+ P04    " "JAIU0F5R<(Q &  "<)P
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
MI_IKVJ2;557>%]4P6]>T6Q3B1;:#N>]>]F/7_]9F6[=O/S:Q7H4?73LC9#M
M8 (1#T38-O[H ;@>MD#"X;F#'47$AN]!LCG(/EY.XQ,^'MEX[.-Q$J\B9PP&
MB.HAQ9"$5C$*)Q,&ACI2BF<3LVQBDHWRC+=BXQ7-QAGP[0"))S0%:A1.TCL&
M)D4D/'.C63::LI$.&TV[@:3MR6'#P(2*T,/&L&P,98,.&T.Z41I-[)"AJ%AK
MWSPG+)>$<G%ZV2:D%P"IW(&A*&$2]*P9$?$V$%$VRO6!B"8M$U?,#*H=OLC#
MQF-*@K(AKB1(/U*:1+IT&!ABXAL=UL)>!5 ^QN4#I*,D<17%@&+C636"-SLA
M*9?$Y2*9I(TA8\/ XDAK#Q_>/ 5U3^VZYXB9=O2+ .7.Z8[!:0T>+Q>\?8J8
M\A$NGYCX-.HX)K-%8:"ESW$$;\="$3_7X&F!MU!!/52['CIB]-0$ED2:%!0M
MM4\*O(,*:J':M= 1\TQ&*)<-145+99*G/P\WWE$%M50=\RT ;X,0S2XE@+<N
M8*S+E<.(44^.K:6K!@8&0D\<[ID/;UT L\L)X T'&,-Q"PJ@3J+1E1,#,KYB
M GBS <9L//8)O#T +:^\,\P+&I@"B\PP+9V,T. :, -3&KQKEK<'8.S!8^'
M:QK,_#7"*P^88H:L$5JGF C(HJ<HI8S',"6O8DF+&>T[4/ JEF+V*I&\[B13
M,KBK1#+5  CIKA(&A@;1XP/2<T:B*M:^C'CM29R]2B2O/4FW9K)*1HQSZ- Z
M<0>%P0DME*?0E+R6)=6R\;7 JT_J^2N%5Y]D#B5DI=#SAA HW0/#CL-%D8A]
M^N'5+*F:C6>FD5<@SM]'D5<@SMA'D=;VL7:/ESL.!0(];'@UX_Q=%'G]X8Q=
M%.D&B9(</1F41-\,H^?&@^ZC/H]%7LLX?Q]%7GLX8Q]%ND%* VYAP:"P/0)[
MV/ Z1JIC[PSS.D9&QV2&#2WID'@;ATHBM\X))U=\N:U._6UHO=B7MZ+I;M,F
M;Q\WKJ_071$Z[[?B93?<F_YL9KC&_3.M3I>B7KR735/F_37AL2P;VY*,ENUP
MGVUZ>#QD]MAT7W7[O1JN3X>'IKR.5\/AXWYZ\Q]02P,$%     @ JH:=4+[B
M*TF7!   AQ8  !@   !X;"]W;W)K<VAE971S+W-H965T,RYX;6R%F&&/XC80
MAO\*XOM=/&,GME<L4J&J6JF53E==^SF[>!=T":%)=KG^^SHAB\C,F'Z!)+QC
MOV.;)V.OSDW[O=N'T"]^U-6Q>USN^_[TD&7=\S[49?>Y.85C_.6E:>NRC[?M
M:]:=VE#NQJ"ZRE"I(JO+PW&Y7HW/OK3K5?/65X=C^-(NNK>Z+MM_-Z%JSH]+
M6'X\^'IXW??#@VR].I6OX<_0?SM]:>-==FUE=ZC#L3LTQT4;7AZ7/\'#5KLA
M8%3\=0CG[N9Z,:3RU#3?AYO?=H]+-3@*57CNAR;*^/4>MJ&JAI:BCW^F1I?7
M/H? V^N/UG\9DX_)/)5=V#;5WX==OW]<NN5B%U[*MZK_VIQ_#5-"^7(Q9?][
M> ]5E ].8A_/3=6-GXOGMZYOZJF5:*4N?UR^#\?Q^SRU_Q$F!^ 4@-< ,'<#
M]!2@24!V<3:F^G/9E^M5VYP7[66V3N6P*.!!Q\%\'AZ.8S?^%K/MXM/WM=.K
M['UH9Y)L+A*\D>!<L>4*9ZZ2+/9_-8&B"1SC]6U\+L=K,5Z/\>8VOB!)7"3%
M*#F.$JW WW1SR83+4&/A4'9C1#>&N['$S462W[H!!\80-X+,&N6\["87W>3<
MC2-N<MZ-PUP1,X+*:Y_P4HA>"N[%$R\%[T7[@@X,5Z&Q8&4O5O1BF1=/,MY8
MU@L414[F<LM5A4DM&"=:<=P*$"N.#PLBG2$NBHO7R4Z\Z,1S)^2_OO&L$PO(
MO7!987WA$U,$2H:3XGX8G13/&K2G*T:2H=&)>8($+('[,=0/\%5C/1W&K21S
MM[*Y'YF;@-Q/3OV@X"<W!9TP40>N@(0CF<2@&<I]D6A!IB=P?'J*3^!@=$8I
M=#0G40<I4(!,4. (]12A(- QLD(5U)&@L\Y#XG4),D>!@]13D )GI,NM98:X
M+/Y/56K6998"ARDH2E/@H$0$K[DE00@>BN0@R50%QY8B)/.2<0B<AZ H$(&C
M#M#G;"T*,N-M8BFB#$3D0 1%B8@<=;FW!2UU!)G-4:<*-YF(R(D(BB(1.>L*
M;37U(ZE<:GP2A20'(BA*1.2DHS"\*YD;D3F(O"0%"H/-))I#(_>YIVZXS@ :
MGZB1408K<K""HF1%3DQC<I6SQ<-UN?+JYNT\MR23%3E905&T(D<FFZY[DKD1
M&:C(@0J*$A4Y*J&@U: D2A7)*-,4!9H"I2ER2)J(=UKV2#)G3*+,0)FDR M4
M %JA(J\^(<\-Q: DB_NKE"&9RRAP&2B7D0.7K9M[DOF^4^:Q5OP= XG_@)8)
MJ@6" B6HYFRDN=R5S(W([-0".X&R4W,P&@?4RGW1W$QB1R_P$]B>GG/1>J?H
MGG(KZ>(.P2:V1EKFIQ;X"92?FG/QDZ$%SO^(YF9D<FJ!G$#)J3D6XU;:T;.1
MK:0#JW7*DLQ0+3 4*$,UQ^.G^'JQ%!.2+E;N/K6*9))J@:1TI[K1PC8_;FF=
MIELV25B 57EJ'<DTU0)-D=)T$LT.HL1B61**Q7)V<R(X'-'^4;:OAV.W>&KZ
MOJG'(\"7INE#;%1]CCGN0[F[WE3AI1\N;;QN+T>CEYN^.4W'OMGU['G]'U!+
M P04    " "JAIU0:5S9:UH"  !/"   &    'AL+W=O<FMS:&5E=',O<VAE
M970T+GAM;(V6VXZ;,!"&7P7Q &N,.48$J4E5M5(K15NUO782)Z UF-I.V+Y]
M;<.B8+S9Y"+X\,\_WYAHG*)G_$54A$COM:&M6/N5E-T* '&H2(/%$^M(JW9.
MC#=8JBD_ ]%Q@H\FJ*$@#(($-+AN_;(P:SM>%NPB:=V2'??$I6DP_[<AE/5K
M'_IO"\_UN9)Z 91%A\_D)Y&_NAU7,S"Y'.N&M*)FK<?):>U_@JLM- %&\;LF
MO;@9>[J4/6,O>O+MN/8#340H.4AM@=7C2K:$4NVD./Z.IOZ44P?>CM_<OYCB
M53%[+,B6T3_U459K/_.](SGA"Y7/K/]*QH)BWQNK_TZNA"JY)E$Y#HP*\^T=
M+D*R9G11* U^'9YU:Y[]L)/F8Y@[(!P#PBD 1G<#T!B K  PD)E2/V.)RX*S
MWN/#V^JP_E' %5*'>="+YNS,GJI6J-5K"<.P %=M-&HV@R:\T5B*[5*119,$
M*(")(G12A"8>S2B0VP Y#9 QB&8&D57&H$F,IC6:)$H#JY*E*$Y1YD:)G"B1
M R6V4*)%%FB#W)7,,&(G1NS 2"R,01//<IB/Q?*Q;@:4.($2!U!J 26+1#;*
M/<4,(G5"I Z(S((8-.EMBJ< 6AP?B&8HF1,E<Z#D%DKVWL$O7M$CRAE4[H3*
MEU#(2K7)%ZFB#$9IGECTVP>$,R08N%M4X(""=H\*'J5Z1#G'>J=S0@?6HG7"
M1;(,Y6F0)3:50ZB4* XM*'#3V?55^P/S<]T*;\^DNB1,*S\Q)HDR#9Z47:5N
M]VE"R4GJ8:K&?+CBAHEDW7A]@^D_1/D?4$L#!!0    ( *J&G5 .F(!)I00
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
MUKF,OCEG:YNO3@^%?6[:V\3=5\>SZ>-#4^[[<_?)Z?!_]C]02P,$%     @
MJH:=4(7 Z_6P 0  T@,  !@   !X;"]W;W)K<VAE971S+W-H965T-RYX;6Q]
M4V%OG# ,_2M1?D!S<+=N.P%2KU.U29MTZK3V<PX,1$UBEH2C^_=+ D=91_N%
MV,;O^=EQL@'-DVT!''E64MN<MLYU>\9LV8+B]@H[T/Y/C49QYUW3,-L9X%4$
M*<G2S>::*2XT+;(8.YHBP]Y)H>%HB.V5XN;/ 20..4WH)7 OFM:% "NRCC?P
M$]RO[FB\QV:62BC05J F!NJ<WB3[PR[DQX0' 8-=V"1T<D)\"LZW*J>;( @D
ME"XP<'^<X1:D#$1>QN^)D\XE W!I7]CO8N^^EQ.W<(OR452NS>DG2BJH>2_=
M/0Y?8>KG R53\]_A#-*G!R6^1HG2QB\I>^M032Q>BN+/XRET/(>)_P);!Z03
M('T%8&.AJ/P+=[S(# [$C+/O>+CB9)_ZV90A&$<1_WGQUD?/1?(YR=@Y$$TY
MAS$G7>;,&<RSSR72M1*']#]XN@[?KBK<1OCV'X5O$.Q6"7:18/=NBVLYVU=%
MV&*F"DP3M\F2$GL=-WD1G1?V)HUW\I(^;OL/;AJA+3FA\S<;YU\C.O!2-E=^
MA5K_P&9'0NV"^=';9ERST7'832^(S<^X^ M02P,$%     @ JH:=4)7S9VBU
M 0  T@,  !@   !X;"]W;W)K<VAE971S+W-H965T."YX;6Q]4]MNVS ,_15!
M'U ECM-V@6V@Z3!TP H$'=8]*S9M"]7%E>2X_?M1LNMYF[$72:1X#@\I*AN,
M?7$M@"=O2FJ7T];[[L"8*UM0W%V9#C3>U,8J[M&T#7.=!5Y%D)(LV6RNF>)"
MTR*+OI,M,M-[*32<+'&]4MR^'T&:(:=;^N%X$DWK@X,56<<;^ [^1W>R:+&9
MI1(*M!-&$PMU3N^VAV,:XF/ LX#!+<XD5'(VYB487ZN<;H(@D%#ZP,!QN\ ]
M2!F(4,;KQ$GGE &X/'^P?XFU8RUG[N#>R)^B\FU.;RFIH.:]]$]F>("IGCTE
M4_'?X (2PX,2S%$:Z>)*RMYYHR86E*+XV[@+'?=AO-G?3+!U0#(!DAEP&_.P
M,5%4_IE[7F36#,2.O>]X>.+M(<'>E,$96Q'O4+Q#[Z78?DHS=@E$4\QQC$F6
M,7,$0_8Y1;*6XIC\ T_6X;M5A;L(W_VA<+].D*X2I)$@_6^):S'7?R5ABYXJ
ML$V<)D=*T^LXR0OO/+!W27R3W^'CM#]RVPCMR-EX?-G8_]H8#RAE<X4CU.('
MFPT)M0_'&SS;<<Q&PYMN^D%L_L;%+U!+ P04    " "JAIU0&HB1;;4!  #2
M P  &    'AL+W=O<FMS:&5E=',O<VAE970Y+GAM;'U3VV[;, S]%4$?4"5V
MMJ:!;:#I,&Q "P0=MCTK-FT+U<63Y+C]^U*RZWFML1=)I'@.#RDJ&XQ]<BV
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
MAY=-_6\0/00INYLP0EWX8(NAH/'Q^"Z<[31FD^&QGW\06[YQ^0M02P,$%
M  @ JH:=4![TO@^U 0  T@,  !D   !X;"]W;W)K<VAE971S+W-H965T,3DN
M>&UL?5/;;MP@$/T5Q <$+^MDHY5M*9NJ2J566J5J^\S:XXO"Q0&\3O^^ W8<
MJ[7Z LQPSID+0S8:^^): $_>E-0NIZWW_9$Q5[:@A+LQ/6B\J8U5PJ-I&^9Z
M"Z**)"493Y([ID2G:9%%W]D6F1F\[#2<+7&#4L+^/H$T8TYW]-WQW#6M#PY6
M9+UHX#OX'_W9HL46E:I3H%UG-+%0Y_1A=SRE 1\!/SL8W>I,0B478UZ"\:7*
M:1(2 @FE#PH"MRL\@I1!"--XG37I$C(0U^=W]<^Q=JSE(AP\&OFKJWR;TWM*
M*JC%(/VS&9]@KN>6DKGXKW %B?"0"<8HC71Q)>7@O%&S"J:BQ-NT=SKNXW23
M'F;:-H'/!+X0[F,<-@6*F7\27A29-2.Q4^][$9YX=^38FS(X8ROB'2;OT'LM
M.#]D[!J$9LQIPO 59K<@&*HO(?A6B!/_A\ZWZ?O-#/>1OE_3DW1;(-T42*-
M^M\2-S#)[5]!V*JG"FP3I\F1T@PZ3O+*NPSL X]O\@&?IOV;L$VG';D8CR\;
M^U\;XP%326YPA%K\8(LAH?;A>,"SG<9L,KSIYQ_$EF]<_ %02P,$%     @
MJH:=4)BY'VBU 0  T@,  !D   !X;"]W;W)K<VAE971S+W-H965T,C N>&UL
M?5/;;MP@$/T5Q <$+^LDJY5M*9NJ2J566J5J^\S:XXO"Q0&\3O^^ W8<J[7Z
M LQPSID+0S8:^^): $_>E-0NIZWW_9$Q5[:@A+LQ/6B\J8U5PJ-I&^9Z"Z**
M)"493Y([ID2G:9%%W]D6F1F\[#2<+7&#4L+^/H$T8TYW]-WQW#6M#PY69+UH
MX#OX'_W9HL46E:I3H%UG-+%0Y_1A=SRE 1\!/SL8W>I,0B478UZ"\:7*:1(2
M @FE#PH"MRL\@I1!"--XG37I$C(0U^=W]<^Q=JSE(AP\&OFKJWR;TP,E%=1B
MD/[9C$\PUW-+R5S\5[B"1'C(!&.41KJXDG)PWJA9!5-1XFW:.QWW<;I)[V?:
M-H'/!+X0#C$.FP+%S#\)+XK,FI'8J?>]"$^\.W+L31F<L17Q#I-WZ+T6G!\R
M=@U",^8T8?@*LUL0#-67$'PKQ(G_0^?;]/UFAOM(WZ_I2;HMD&X*I%$@_6^)
M&YCD]J\@;-53!;:)T^1(:08=)WGE70;V@<<W^8!/T_Y-V*;3CER,QY>-_:^-
M\8"I)#<X0BU^L,604/MPO,>SG<9L,KSIYQ_$EF]<_ %02P,$%     @ JH:=
M4#D-9$^T 0  T@,  !D   !X;"]W;W)K<VAE971S+W-H965T,C$N>&UL?5/;
M;MP@$/T5Q <$+]ZDZ<JVE$U5M5(CK5*U?6;ML8T"Q@&\3OZ^ W9<J['R LQP
MSID+0S8:^^1: $]>M.I<3EOO^P-CKFQ!"W=E>NCPIC96"X^F;9CK+8@JDK1B
M/$ENF!:RHT46?2=;9&;P2G9PLL0-6@O[>@1EQISNZ)OC43:M#PY69+UHX"?X
M7_W)HL46E4IJZ)PT';%0Y_1N=SCN SX"?DL8W>I,0B5G8YZ"\;W*:1(2 @6E
M#PH"MPO<@U)!"--XGC7I$C(0U^<W]:^Q=JSE+!S<&_5'5K[-Z2TE%=1B4/[1
MC-]@KN>:DKGX'W !A?"0"<8HC7)Q)>7@O-&S"J:BQ<NTRR[NXW1SS6?:-H'/
M!+X0;F,<-@6*F7\17A29-2.Q4^][$9YX=^#8FS(X8ROB'2;OT'LI./^<L4L0
MFC''"<-7F-V"8*B^A.!;(8[\'9UOT]/-#--(3]?T--D6V&\*[*/ _L,2-S#I
M_T6R54\UV"9.DR.E&;HXR2OO,K!W\1'9/_@T[0_"-K)SY&P\OFSL?VV,!TPE
MN<(1:O&#+8:"VH?C)SS;:<PFPYM^_D%L^<;%7U!+ P04    " "JAIU0NP;6
M-;0!  #2 P  &0   'AL+W=O<FMS:&5E=',O<VAE970R,BYX;6Q]4V%OW" ,
M_2N('U#N2+9VIR12K].T2:UTZK3M,Y<X"2K$&9!+^^\'),VR-MH7P,;O^=F8
M;$3S9%L 1YZUZFQ.6^?Z V.V;$$+>X4]=/ZF1J.%\Z9IF.T-B"J"M&)\M_O(
MM) =+;+H.YDBP\$IV<')$#MH+<S+$12..=W35\>C;%H7'*S(>M' =W _^I/Q
M%EM8*JFALQ([8J#.Z>W^<$Q#? SX*6&TJS,)E9P1GX+QK<KI+@@"!:4+#,)O
M%[@#I0*1E_%[YJ1+R@!<GU_9O\3:?2UG8>$.U2]9N3:G-Y144(M!N4<<O\)<
MSP=*YN+OX0+*AP<E/D>)RL:5E(-UJ&<6+T6+YVF77=S'Z89_FF'; #X#^ *X
MB7G8E"@J_RR<*#*#(S%3[WL1GGA_X+XW97#&5L0[+]YZ[Z7@"<_8)1#-,<<I
MAJ]B]DL$\^Q+"KZ5XLC?P?DV/-E4F$1X\H_"9)L@W21((T'ZWQ*W8M(W2=BJ
MIQI,$Z?)DA*'+D[RRKL,["V/;_(W?)KV!V$:V5ER1N=?-O:_1G3@I>RN_ BU
M_H,MAH+:A>.U/YMIS";#83__(+9\X^(/4$L#!!0    ( *J&G5"\9ME5X@$
M  $%   9    >&PO=V]R:W-H965T<R]S:&5E=#(S+GAM;'54VVZ<,!#]%>0/
MB%FSP&8%2-E$52NUTBI5VV<O#!?%QM3V+NG?US:$4N*\8,_XS#DSQC/9*.2+
M:@%T\,I9KW+4:CT<,59E"YRJ.S% ;TYJ(3G5QI0-5H,$6KD@SC )PP1SVO6H
MR)SO+(M,7#7K>CC+0%TYI_+/"9@8<[1#;X[GKFFU=> B&V@#WT'_&,[26'AA
MJ3H.O>I$'TBH<_2P.YY2BW> GQV,:K4/;"47(5ZL\:7*46@3 @:EM@S4+#=X
M!,8LD4GC]\R)%DD;N-Z_L7]RM9M:+E3!HV"_NDJW.3J@H(*:7IE^%N-GF.N)
M43 7_Q5NP S<9F(T2L&4^P;E56G!9Q:3"J>OT]KU;AVGD^0PA_D#R!Q EH"#
MT\&3D,O\B6I:9%*,@9SN?J#V%^^.Q-Q-:9WN*MR925X9[ZT@49SAFR6:,:<)
M0U:8W8+ AGV1(#Z)$WD73OSAD3?#R(5':_7[V$^P]Q+L'<'^OQ*338D^3.H7
MB;TBL8?@L!'Q8>[](HE7)'E/L \W(C[,![\K]8JD'@*R$?%AHHT(7CU!#K)Q
MS:>"4EQ[U_@K[]+?#\0]X7_P:3A\H[+I>A5<A#:-X)YK+80&DTIX9VZU-?-H
M,1C4VFY3LY=35TZ&%L,\</ R]8J_4$L#!!0    ( *J&G5"9FZSIMP$  -(#
M   9    >&PO=V]R:W-H965T<R]S:&5E=#(T+GAM;'53VV[<(!#]%<0'!"_K
MI*N5;2F;*DJE5EJE:OO,VF,;!8P+>)W^?0?LN&[JO@ SG'/FPI"-QKZX%L"3
M5ZTZE]/6^_[(F"M;T,+=F!XZO*F-U<*C:1OF>@NBBB2M&$^2.Z:%[&B11=_9
M%ID9O)(=G"UQ@];"_CJ!,F-.=_3-\2R;U@<'*[)>-/ 5_+?^;-%BBTHE-71.
MFHY8J'-ZOSN>TH"/@.\21K<ZDU#)Q9B78'RJ<IJ$A$!!Z8."P.T*#Z!4$,(T
M?LZ:= D9B.OSF_ICK!UKN0@'#T;]D)5O<WJ@I():#,H_F_$)YGIN*9F+_PQ7
M4 @/F6",TB@75U(.SAL]JV J6KQ.N^SB/DXWZ6&F;1/X3. +X1#CL"E0S/RC
M\*+(K!F)G7K?B_#$NR/'WI3!&5L1[S!YA]YKP=,T8]<@-&-.$X:O,+L%P5!]
M"<&W0ISX/W2^3=]O9KB/]/V:GOPG?KHID$:!]*\2;]^5N(6Y>Q>$K7JJP39Q
MFAPIS=#%25YYEX&]Y_%-_L"G:?\B;",[1R[&X\O&_M?&>,!4DAL<H18_V&(H
MJ'TX?L"SG<9L,KSIYQ_$EF]<_ 902P,$%     @ JH:=4*9%Z=:S 0  T@,
M !D   !X;"]W;W)K<VAE971S+W-H965T,C4N>&UL;5/;CILP$/T5RQ^P#@[=
MW4: M-FJ:J56BK9J^^S  -;:F-HF;/^^8T,H37G!,\,Y9RX>9Z.QKZX%\.1-
MJ\[EM/6^/S#FRA:T<'>FAP[_U,9JX=&U#7.]!5%%DE:,[W;W3 O9T2*+L9,M
M,C-X)3LX6>(&K87]?01EQIPF]!IXD4WK0X 562\:^ ;^>W^RZ+%%I9(:.B=-
M1RS4.7U*#L<TX"/@AX31K6P2.CD;\QJ<SU5.=Z$@4%#ZH"#PN, S*!6$L(Q?
MLR9=4@;BVKZJ?XR]8R]GX>#9J)^R\FU.'RFIH!:#\B]F_ 1S/^\HF9O_ A=0
M" ^58([2*!>_I!R<-WI6P5*T>)M.V<5SG/6OM&T"GPG\AL"F1+'R#\*+(K-F
M)'::?2_"%2<'CK,I0S".(O[#XAU&+P5/'S)V"4(SYCAA^ J3+ B&ZDL*OI7B
MR/^C\VWZ?K/"?:3OU_3D?EL@W11(HT#Z3XN/-RUN8=[?)&&KF6JP3=PF1THS
M='&35]%E89]XO)._\&G;OPK;R,Z1L_%XLW'^M3$>L)3=':Y0BP]L<134/I@/
M:-MIS2;'FWY^06QYQL4?4$L#!!0    ( *J&G5#/H9:"[0$  &8%   9
M>&PO=V]R:W-H965T<R]S:&5E=#(V+GAM;'54;6^;,!#^*X@?4 ,)A$: U+2:
M-FF3HD[K/CMPO*@V9K83NG\_VU#&V/5+;)^?ESN3NVP4\E6U -I[XZQ7N=]J
M/1P)464+G*H[,4!O;FHA.=7F*!NB!@FT<B3.2!0$">&TZ_TB<[&S+#)QU:SK
MX2P]=>6<RM\G8&+,_=!_#SQW3:MM@!390!OX#OK'<);F1!:5JN/0JT[TGH0Z
M]Q_"XRFU> =XZ6!4J[UG*[D(\6H/7ZK<#VQ"P*#45H&:Y0:/P)@5,FG\FC7]
MQ=(2U_MW]4^N=E/+A2IX%.QG5^DV]U/?JZ"F5Z:?Q?@9YGIBWYN+_PHW8 9N
M,S$>I6#*_7KE56G!9Q63"J=OT]KU;AVGFSB>:3@AF@G10DB=#YF,7.9/5-,B
MDV+TY/3V [6?.#Q&YFU*&W1/X>Y,\LI$;T44!QFY6:$9<YHPT0H3+@ABU!>+
M"+,X1?_1(YR^0S/<.?IN30_O<8$]*K!W OM_2@PW)6*8#[*,49,8$=AM3##,
M'C=)4),$$8@W)A@FP4T.J,D!$3AL3#!,BINDJ$F*"-QO3!!,$FQ,R.I_SD$V
MKL.55XIK[Z;+*KH,D8?(]<E?^#2!OE'9=+WR+D*;;G,]40NAP:02W)E/UYJA
MMQP8U-IN#V8OI]:?#EH,\U0CRV@M_@!02P,$%     @ JH:=4&UV/+>R 0
MT@,  !D   !X;"]W;W)K<VAE971S+W-H965T,C<N>&UL=5/;CM,P$/T5RQ^P
M;MVRH"J)M%V$0 *I6@3[[":3Q%I?@NTTR]\S=M)L*.$EGIF<<^;B<398]^);
M@$!>M3(^IVT(W8$Q7[:@A;^S'1C\4UNG14#7-<QW#D252%HQOMG<,RVDH466
M8B=79+8/2AHX.>)[K87[?01EAYQNZ37P))LVQ  KLDXT\!W"C^[DT&.S2B4U
M&"^M(0[JG#YL#\=]Q"? 3PF#7]@D=G*V]B4Z7ZJ<;F)!H* ,44'@<8%'4"H*
M81F_)DTZIXS$I7U5_Y1ZQU[.PL.C5<^R"FU./U!202UZ%9[L\!FF?MY1,C7_
M%2Z@$!XKP1RE53Y]2=G[8/6D@J5H\3J>TJ1SF/2OM'4"GPC\AL#&1*GRCR*(
M(G-V(&Z<?2?B%6\/'&=3QF :1?J'Q7N,7@I^O\W8)0I-F..(X0O,&X*A^IR"
MKZ4X\G_H?)V^6ZUPE^B[)9W_1V"_*K!/ ON_6N0W+:YA=C=)V&*F&ER3MLF3
MTO8F;?(B.B_L T]W\@8?M_V;<(TTGIQMP)M-\Z^M#8"E;.YPA5I\8+.CH [1
M?(^V&]=L=(+MIA?$YF=<_ %02P,$%     @ JH:=4*3(NXK$ 0  -P0  !D
M  !X;"]W;W)K<VAE971S+W-H965T,C@N>&UL;53;CML@$/T5Q <L"8FS461;
MVFQ5M5(K15NU?2;VV$;+Q04<;_^^@+VNF_)B8#B7&6"<C]J\V@[ H3<IE"UP
MYUQ_(L16'4AF'W0/RN\TVDCF_-*TQ/8&6!U)4A"ZV1R(9%SA,H^QBRES/3C!
M%5P,LH.4S/P^@]!C@;?X/?#"V\Z% "GSGK7P#=SW_F+\BBPJ-9>@+-<*&6@*
M_+0]G;. CX ?'$:[FJ-0R57KU[#X7!=X$Q(" 94+"LP/-W@&(8*03^/7K(D7
MRT!<S]_5/\;:?2U79N%9BY^\=EV!CQC5T+!!N!<]?H*YG@RCN?@O< /AX2$3
M[U%I8>,758-U6LXJ/A7)WJ:1JSB.T\XAFVEI IT)="$<HP^9C&+F'YAC96[T
MB,QT]CT+5[P]47\V50C&HXA[/GGKH[>2'O8YN06A&7.>,'2%V2X(XM47"YJR
M.-/_Z#1-WR4SW$7Z;DVG65I@GQ381X']/R5F=R6F,(>T298TR1("CW<F*<SQ
MSH2L+DZ":>.3M:C2@XKMLHHN7?%$X\7_A4\M]969EBN+KMKYYQ,ON=':@4]E
M\^!SZ7P7+PL!C0O31S\WTUN>%D[W<YN2Y5]1_@%02P,$%     @ JH:=4-M5
MQ"6V 0  T@,  !D   !X;"]W;W)K<VAE971S+W-H965T,CDN>&UL;5/;;MP@
M$/T5Q <$+^MFTY5M*9LH:J566J5J^LS:8QL%C MXG?Y]!^RX5NH78(9SSEP8
MLM'85]<">/*F5>=RVGK?'QES90M:N!O30X<WM;%:>#1MPUQO0521I!7C27++
MM) =+;+H.]LB,X-7LH.S)6[06M@_)U!FS.F.OCN>9=/ZX&!%UHL&?H#_V9\M
M6FQ1J:2&SDG3$0MU3N]WQU,:\!'P(F%TJS,)E5R,>0W&URJG24@(%)0^* C<
MKO  2@4A3./WK$F7D(&X/K^K/\7:L9:+</!@U"]9^3:G=Y144(M!^6<S?H&Y
MGD^4S,5_@RLHA(=,,$9IE(LK*0?GC9Y5,!4MWJ9==G$?IYOT,-.V"7PF\(5P
M%^.P*5#,_%%X4636C,1.O>]%>.+=D6-ORN",K8AWF+Q#[[7@MY\S=@U",^8T
M8?@*LUL0#-67$'PKQ(G_1^?;]/UFAOM(WZ_I2;HMD&X*I%$@70L<D@\E;F$^
M%LE6/=5@FSA-CI1FZ.(DK[S+P-[S^";_X-.T?Q>VD9TC%^/Q96/_:V,\8"K)
M#8Y0BQ]L,134/AP/>+;3F$V&-_W\@]CRC8N_4$L#!!0    ( *J&G5#U&8FD
MM0$  -(#   9    >&PO=V]R:W-H965T<R]S:&5E=#,P+GAM;&U3VV[<(!#]
M%<0'!"_K7+2R+6535:W42JM4;9Y9>VRC@,<!O$[_OH =QTG] LQPSID+0S:B
M>;8M@".O6G4VIZUS_8$Q6[:@A;W"'CI_4Z/1PGG3-,SV!D0525HQGB0W3 O9
MT2*+OI,I,AR<DAV<#+&#UL+\/8+",:<[^N9XE$WK@H,562\:^ 7N=W\RWF*+
M2B4U=%9B1PS4.;W?'8YIP$? 'PFC79U)J.2,^!R,[U5.DY 0*"A=4!!^N\ #
M*!6$?!HOLR9=0@;B^ORF_C76[FLY"PL/J)YDY=J<WE%202T&Y1YQ_ 9S/=>4
MS,7_@ LH#P^9^!@E*AM74@[6H9Y5?"I:O$Z[[.(^3C?7Z4S;)O"9P!?"78S#
MID Q\R_"B2(S.!(S];X7X8EW!^Y[4P9G;$6\\\E;[[T4_)9G[!*$9LQQPO 5
M9K<@F%=?0O"M$$?^'YUOT_>;&>XC?;^F)^FV0+HID$:!]$.)^T\E;F$^!V&K
MGFHP39PF2TH<NCC)*^\RL/<\OLD[?)KVG\(TLK/DC,Z_;.Q_C>C IY)<^1%J
M_0=;# 6U"\=;?S;3F$V&PW[^06SYQL4_4$L#!!0    ( *J&G5!*FJ< 30(
M ",(   9    >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;)56VXZ;,!#]%<0'
MK&UN@15!ZJ:J6JF5HJW:/CN)$] :3&TG;/^^MB$H@:%*7^(+9\XY,V%L\D[(
M-U4RIKWWFC=J[9=:M\\(J7W):JJ>1,L:\^0H9$VU6<H34JUD]."":HX"C!-4
MTZKQB]SM;661B[/F5<.VTE/GNJ;RSPOCHEO[Q+]NO%:G4ML-5.0M/;'O3/]H
MM]*LT,ARJ&K6J$HTGF3'M?^!/&](; ,<XF?%.G4S]VPJ.R'>[.++8>UCZXAQ
MMM>6@IKAPC:,<\MD?/P>2/U1TP;>SJ_LGUSR)ID=56PC^*_JH,NUG_K>@1WI
MF>M7T7UF0T*Q[PW9?V47Q@W<.C$:>\&5^_7V9Z5%/; 8*S5][\>J<6,W\%_#
MX(!@" C& !+],R < L)) .J=N50_4DV+7(K.D_V_U5+[4I#GT!1S;S==[=PS
MDZTRNY<B6,4YNEBB ?/28X);S#UB,T>DT0A!QL#H(@!=!"X^O'.1P 0A2! Z
M@NB.8#5) \*DL$@$BD0 0381Z3&)PS0.$V9!@C&L$X,Z\5PGQ1.='A/?ZH19
MC">P30S82>(E.PEH)P'LD(F=9&9G664%JJP E0 F2$&"]/%W* ,)L@?*GLWR
M)&$T+SL(PTL%(1AN30P8"A<H%KJ;/%X4 K<F"1XHRP"Z2SB8EV6 )7=U(8ME
M@5N= 'V\=-H0N)%)]!]E@7N40$TZ.SCG[6??@EG"Z.:TMM?G-RI/5:.\G=#F
MX'?'\U$(S0PG?C*<I;FQQP5G1VVG*S.7_;75+[1HARL9C=\%Q5]02P,$%
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
M<6_3=:? FW%^R6SYG>H/4$L#!!0    ( *J&G5 M I0,4P(  *P'   9
M>&PO=V]R:W-H965T<R]S:&5E=#,U+GAM;(U5VXZ;,!#]%<0'K#&WD(A$RD55
M*[72:JNVSPZ9!+0&4]L)V[^O;5B6BS=*'L >SCESQK$]:</XJ\@!I/-6TDJL
MW5S*>H60R'(HB7AB-53JRYGQDD@UY1<D:@[D9$@E1;[GQ:@D1>5N4A-[YIN4
M724M*GCFCKB6)>'_=D!9LW:Q^QYX*2ZYU &T26MR@9\@?]7/7,U0KW(J2JA$
MP2J'PWGM;O'J@'U-,(C?!31B,'9T*4?&7O7DVVGM>MH14,BDEB#J=8,]4*J5
ME(^_G:C;Y]3$X?A=_8LI7A5S) +VC/XI3C)?NXGKG.!,KE2^L.8K= 5%KM-5
M_QUN0!5<.U$Y,D:%>3K954A6=BK*2DG>VG=1F7?3?@EQ1[,3_([@]P25^QXA
MZ C!!R&\2P@[0C@AH+84LS8'(LDFY:QQ>/OWUD3O(KP*U>IG.F@6VWQ3RR-4
M]+8)/#]%-RW4878MQA]@<(] 2KU/X=M2[/P9?9)@/T=$R1ARF$.2T&XBL-89
M&'XPJC.P"X16@= (A".!<+)0+28VF*K#+#W]FU0S!_K+9 P<68JLEB*+I6AB
MJ<5$0TLV1_MH;OV>H=AJ*+88BB>&XEFBJ95[B)&)A=7$PF)B81=(K +)XUME
M:1586AQ,]O/.AEG:DV#/?G*]N03^9*7P)X<?/UXJMA[N+?8?*-8&PM,[! VN
MK!+XQ;0#X63L6DE]\@?1ON5L3<>9Q'=XM6\;QX=,V\=^$'XI*N$<F507JKGV
MSHQ)4!Z])W4"<M4Z^PF%L]3#A1KSMG^T$\GJKC>BOD%O_@-02P,$%     @
MJH:=4 *OJB5@ @  [P<  !D   !X;"]W;W)K<VAE971S+W-H965T,S8N>&UL
MC57;;ILP&'X5Q /4F',B@I2#IDW:I*K3MFN'. $5,+.=T+W]?"HE8*K<!-M\
MI]\X_K.>T%=68LR=MZ9NV<8M.>_6 +"BQ UB3Z3#K7AS)K1!7$SI!;".8G12
MI*8&ON?%H$%5Z^:96GNF>4:NO*Y:_$P==FT:1/_M<$WZC0O=]X67ZE)RN0#R
MK$,7_!/S7]TS%3,PJ)RJ!K>L(JU#\7GC;N'Z 'U)4(C?%>[9:.S(4HZ$O,K)
MM]/&]60B7.."2PDD'C>\QW4ME42.OT;4'3PE<3Q^5_^BBA?%'!'#>U+_J4Z\
MW+BIZYSP&5UK_D+ZK]@4%+F.J?X[ON%:P&42X5&0FJE?I[@R3AJC(J(TZ$T_
MJU8]>_TF2@S-3O -P1\(POLS0F (P0<A_)00&D(X(0!=BMJ; ^(HSRCI':H_
M;X?D*8+K4.Q^(1?59JMW8GN86+WE ?0S<)-"!K/3&'^$@0,""/7!PK=9[/P9
M?6*PGR.B]!YRF$/2T!XBL-89*'YP5V=@%PBM J$2".\$PLE&:4RL,*W"K+S8
M\^PVD=4FLMA$$QN-B48VX6JAEMAJ$L],8+B:F,0S$QAYHUKTEXMG%2]4FUB#
M))9JXTF09![$FP=)'@V26H.DEB")76!E%5@]?KZ@9_\G>@]\%0.*%S_+O=/"
M?QY:JDVG3C;0),[!!O*7PEAOARWT'S@#!A0O'@+M!$:W7H/I1744YA3DVG)Y
M>8Q6AZZU54UKLKZ#Z[WN/1\RNA7^0/12M<PY$B[N9'5SG@GA6*3TGL0A+47W
M'28U/G,Y3,28ZA:D)YQTIKV"H<?G_P%02P,$%     @ JH:=4+Z^> #H @
MW@P  !D   !X;"]W;W)K<VAE971S+W-H965T,S<N>&ULE5?M;ILP%'T5Q ,4
M?,U'4B61DE33)FU2U6G=;S=Q$E3 S':2[NUG#*4$KKLD/P(VYYY[SX6#S>PL
MY*LZ<*Z]MR(OU=P_:%W=!X':''C!U)VH>&FN[(0LF#9#N0]4)3G;VJ B#R ,
MDZ!@6>DO9G;N42YFXJCSK.2/TE/'HF#R[XKGXCSWB?\^\93M#[J>"!:SBNWY
M3ZY_58_2C(*.99L5O%29*#W)=W-_2>X?:%@'6,1SQL^J=^[54EZ$>*T'W[9S
M/ZPKXCG?Z)J"F<.)KWF>UTRFCC\MJ=_EK /[Y^_L7ZQX(^:%*;X6^>]LJP]S
M?^)[6[YCQUP_B?-7W@J*?:]5_YV?>&[@=24FQT;DROY[FZ/2HFA93"D%>VN.
M66F/YY;_/0P/@#8 N@"2?!I VP#Z$1!]&A"U =$@(&BDV-X\,,T6,RG.GFQN
M;\7JIXC<1Z;[FWK2-MM>,^U19O:TH$!FP:DF:C&K!@,]S <B,.Q="L!2K& 4
M#I<)UF/$)+J$/(PA% "O@J)"J26@%P04)XA0@L@21!<$@RI7#2:QF-)BPH'4
MSQ 71<1H$?&H".BUZH(@00F2Z]N0H@0ITH9X<+/2D<@H;']XJ@F::G)%QQM,
M_/]^3M$44Z2? S6KZ:UJ2(A;+43T) X*AUO)];>/H&Y<$D"J2(>.QT 31Q[<
M;X0B%%,'!>XX$MV@%O<+&1L&48N J.O>XK8B"4+A>$L2W%@DO4$M;AB".(;"
M4"T&<N7!74/&MJ'4\1H"W P07J\6<#, N4(M"HH=>7#' &(&ZO MX&: &U8?
MP,T R/HS5HN!4D<>W#& F<%A?<#- #<L,H"; 9!E9JP6 SE>,8 [!A S1 [K
M VX&F%ZOEN)FH-C*,%Q46U!_'8(878:"WN:OX')O-];*VXAC:7?UO=EN\[X$
MNWG\@#<[_Q],[K-2>2]"FRVHW2CNA-#<%!3>F2?E8#XVND'.=[H^3<VY;';<
MS4"+JOV:"+I/FL4_4$L#!!0    ( *J&G5#W6UQ^%0(  /\%   9    >&PO
M=V]R:W-H965T<R]S:&5E=#,X+GAM;'U4VXZ;,!#]%<0'K+F31@1I256U4BM%
M6[5]=L@$T-J8VD[8_GU]80DA;E^P/3YSYAP;3S$R_BI: .F]4=*+G=]*.6P1
M$G4+%(LG-D"O=LZ,4RS5DC=(#!SPR211@J(@R!#%7>^7A8D=>%FPBR1=#P?N
MB0NEF/^I@+!QYX?^>^"E:UJI Z@L!MS =Y _A@-7*S2SG#H*O>A8[W$X[_SG
M<+O/-=X ?G8PBL7<TTZ.C+WJQ9?3S@^T("!02\V U7"%/1"BB92,WQ.G/Y?4
MB<OY._LGXUUY.6(!>T9^=2?9[OR-[YW@C"]$OK#Q,TQ^4M^;S'^%*Q %UTI4
MC9H18;Y>?1&2T8E%2:'XS8Y=;\;1[F3IE.9.B*:$:$X(_Y\03PGQ+2$QYJTR
M8_4CEK@L.!L];B]KP/J?"+>Q.LQ:!\W9F3WE5JCHM8R3L$!7331A*HN)%I@;
M BGVN43D*E%%#^G1?8'](R+=N"O$3A.QR8^7%<+839 X"1)#D-R=PDIDY<+$
M*R,N3.(6DCJ%I Z"="7$8C*#Z:W;* R"E91'5)@O0'=:,J>6S*$E6VEQ8?*5
M$A?F']>;.X7D#H(/*R&YP^Y*[/X1LUGK0(MW0X$WIL4(KV:77NH_=!&=N]AS
MI-_=*EZI[F:;T8W&ML9OF#==+[PCD^I5F[=W9DR"4A@\J5MK53>>%P3.4D]S
M->>V)]F%9,/4;M'<\\N_4$L#!!0    ( *J&G5!RBE[4=@(  /@'   9
M>&PO=V]R:W-H965T<R]S:&5E=#,Y+GAM;'U5?Z^;(!3]*L8/4 5_]L6:M%V6
M+=F2YBW;_J8MK>:A.*#U[=L/T/HLX/J'PO7<<\^AP"UZRMYXA;'PWAO2\HU?
M"=&]! $_5;A!?$4[W,HO%\H:).2470/>,8S..JDA 0S#-&A0W?IEH6,'5A;T
M)DC=X@/S^*UI$/N[PX3V&Q_XC\!K?:V$"@1ET:$K_H'%S^[ Y"R86,YU@UM>
MT]9C^++QM^!E#Z!*T(A?->[Y;.PI*T=*W]3DZWGCATH1)O@D% 62KSO>8T(4
MD]3Q9R3UIYHJ<3Y^L'_6YJ69(^)X3\GO^BRJC9_[WAE?T(V(5]I_P:.AQ/=&
M]]_P'1,)5TIDC1,E7#^]TXT+VHPL4DJ#WH=WW>IW/_(_TMP)<$R 4X*L_;^$
M:$R(/A)B;7Y0IJU^0@*5!:.]QX9_JT-J4X"72"[F207UVNEOTBV7T7L9)6$1
MW!71B-D-&#C#@ D12/:I!'25V$$K'3X7V-N()'=7B)PF(IT?/9E8D!@["6)-
M$,\(,F LP@!)-:35D#A+S*7:VRB81?&"F<2I)7&8@6Z"U$F06F:B)#+<#)AD
MIC-:)Z'IQH'*HW#!3>84DSG<Q&Z"W$F0.]PDAIO<T@G2.#;,.$ PR]Q2UDXI
M:X>4U)"RMJK$ %A:;)1<_CQQBP&A^^2&UM)F"_L$+)Q]8&][<Z.,F&R^;"OS
M_#I X2I;.(' >4ML ;3%Q*88Z! #4E.-C0I7:;Y^^AG:@ME]V6!VU:V%>R=Z
M:X6ZF6;1J7UM=?<RXCO5UO0]_$$S],3OB%WKEGM'*N1MKN_<"Z4"2\GA2FZ%
M2K;A:4+P1:AA)L=LZ$7#1-!N[+/!U.S+?U!+ P04    " "JAIU0L <'PMT!
M  !B!   &0   'AL+W=O<FMS:&5E=',O<VAE970T,"YX;6Q]5-N.FS 0_16+
M#U@'")LT J1-JJJ56BG:JMMG!X:+UA=J.V'[]QT;PK()ZDOL&<XY<_%,TE[I
M5], 6/(FN#19T%C;[2@U10."F0?5@<0OE=*"631U34VG@96>)#B-5JM'*E@K
M@SSUOJ/.4W6VO)5PU,2<A6#Z[QZXZK,@#*Z.Y[9NK'/0/.U8#3_!_NJ.&BTZ
MJ92M &E:)8F&*@N>PMUA[? >\-)";V9WXBHY*?7JC&]E%JQ<0L"AL$Z!X7&!
M W#NA#"-/Z-F,(5TQ/G]JO[%UXZUG)B!@^*_V](V6; -2 D5.W/[K/JO,-:3
M!&0L_CM<@"/<98(Q"L6-_R7%V5@E1A5,1;"WX6RE/_M1_TI;)D0C(9H(&/M_
MA'@DQ.\$WTTZ9.9+_<PLRU.M>J*'Q^J8FXEP%V,S"^?TO?/?L%J#WDL>)YN4
M7IS0B-D/F&B&"2<$1?4I1+048A_=T:./ 0[WB&2['"%>+"+V_'@>(7Q<%E@O
M"JR]P/I#%[8W71@PB<=(C]E\NJGC'A)&27R3")T]C0!=^RDVI%!G:5T39MYI
M49XB][0W_CTNT##O[S+#]OU@NFZE(2=E<7#\\U9*6< <5P^87H,+/QD<*NNN
M&[SK8>P'PZINW&@Z_:WD_P!02P,$%     @ JH:=4'I.(Z5, @  D <  !D
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
MU:LV;^_$F 1E,7A0MU:K;CPM")RDGF9JSFU/L@O)NK'=HJGG%_\ 4$L#!!0
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
MBYT !\X5Z"K1DSZP2G\4Q@V%@S++3*]%/QG[C>+M,/6#\=-3_ 502P,$%
M  @ JH:=4'>-?XW= 0  MP0  !D   !X;"]W;W)K<VAE971S+W-H965T-#@N
M>&ULC53;;MP@$/T5Q <$K]>7=&5;RJ:J6JF55JG:/K/V^*)P<0&OT[\O8,?=
M;'CHBV&&,V?.P4 Q2_6L>P"#7C@3NL2],>.!$%WWP*F^DR,(N])*Q:FQH>J(
M'A70QA=Q1N(HR@BG@\!5X7,G515R,FP0<%)(3YQ3]><(3,XEWN'7Q-/0]<8E
M2%6,M(/O8'Z,)V4CLK$T P>A!RF0@K;$#[O#,7=X#_@YP*ROYL@Y.4OY[((O
M38DC)P@8U,8Q4#M<X!$8<T16QN^5$V\M7>'U_)7]D_=NO9RIAD?)?@V-Z4M\
MCU$#+9V8>9+S9UC]I!BMYK_"!9B%.R6V1RV9]E]43]I(OK)8*9R^+.,@_#@O
M*UFVEH4+XK4@W@KVB?>R-/+*/U)#JT+)&:EE[T?J?O'N$-N]J5W2;X5?L^*U
MS5ZJ)$H*<G%$*^:X8.(KS&Y#$,N^M8A#+8[QN_(D2L,$^Z#&O2?8OR'(P@1)
MD"#Q!,D;@OS&Y())/49X3!YND09;I($6]V&"+$B0_;_)/$B0!Q1\N#&9OS-Y
M^R?)U<'AH#I_932JY23\=;W*;K?R(?8'[Q]\N=+?J.H&H=%9&GM\_2%KI31@
MA41W5D-O7Y$M8- :-\WM7"UW:0F,'-=G@FQO5?474$L#!!0    ( *J&G5#,
MG0H36@8  !(H   9    >&PO=V]R:W-H965T<R]S:&5E=#0Y+GAM;)6:7V_;
M-A3%OXKA]];DY?\B"=!X&#9@ XH.W9[51$F,VI8G*4GW[2?)CFN3Y[KD2VPK
MA]3E)7]7AS:O7IOV6_=4U_WL^V:][:[G3WV_^[!8='=/]:;JWC>[>CO\YZ%I
M-U4_?&P?%]VNK:O[J=%FO2 A[&)3K;;SFZOIVJ?VYJIY[M>K;?VIG77/FTW5
M_G=;KYO7Z[F<OUWXO'I\ZL<+BYNK7?58_U7W7W:?VN'3XMC+_6I3;[M5LYVU
M]</U_*/\L)1B:C%)_E[5K]W)^]DXEJ]-\VW\\/O]]5R,(=7K^JX?^ZB&EY=Z
M6:_78U=#(/\>>IT?;SHV/'W_UONOT^B'T7RMNGK9K/]9W?=/UW,_G]W7#]7S
MNO_<O/Y6'T9DYK/#\/^H7^KU(!\C&>YQUZR[Z>_L[KGKF\VAER&43?5]_[K:
M3J^OA_[?FN$&=&A QP;#O2\U4(<&ZD<#/0U^']DTU%^JOKJY:IO76;N?KETU
MK@KY00W)O!LO3KF;_C>,MANNOMQH*:X6+V-'!\WM7D,G&GE4+(;>C[<@=(M;
M2IK3^0V6J<)X? <%!Z&F]NIT$,+B#C3L0$\=Z+,LR"@+>XV=--O],)PU.I(M
M@4P[89EP# S').%8%T6SEYB3VRCE@XJ" 2JM S-[%L9B06H(=^!@!RY_<CSL
MP&=,CD\&2D9(%V5M"60DA3(XG ##"3^?G)#<Q@KMXE6?JHS13N-8I,#X"I <
MQ73!5 "9/T$2$OY14L84'41GBU$H'_,#9!2,=TQ N"!(]?-).FC.9BD('X>3
MJIP(S(*1N+I(5%ZX><8509J"2<(@2T1R,DDV&>X[+62(LP)DRAANX>'"(!T(
MB,LL+@W2%Z0%XRQ3GD%:4E:U$,G2355*>V:B"0--"&AF1(2!I@*@"0--.4!3
M2JJ,\0$:&YA0,,J4HJPE4PT(\T>Z("&8/TH?R2 AZ>-VA"=^""'9  \7$*:9
M4IJ3"D> TM'A)Y,$='*P-EQ$&&=".#,VCC#.5( S89PIX_%,@&:G9.)*@<P*
M8HJ<PCRKE&?'U#B%<58%."N,L\K!62&<G8I7+Y"1=('+"F/8$=1,75 8:E4
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
M'RSM$B9: Z(MJ:W!)!I57QB#233H3I@7YB2ZGE?$1I<5!NF<O33%UUW"9!M
MMF6C(J:VP=4:S**I\;4GT=6 K5<FKPN0Z<3N0P:3;0#9EEE]S*)I\+8&LVAJ
MW*TI?:O*2S(FN>X()MH HBVYD1E,H&EPMA83:&N<K2TM:U36Y5<)D(7D#1F3
MQ3Q;P+,CE;68/]O@;"WFS]8X6UM:5F]]*AX*@<R((E>^)0^I@&9'GL0MYL\V
M.%N+^;,USM:6GE5<\#E 2.:=(7.*Q31;0+,C3\L6<V@;O*W%'-H:;VM+WYHO
MA0#)#^36XS#.KL0Y$*_B,'^NP=DZS)^K<;:NM*P2@\DM')!I"8E5!=/L$,UD
M6G*8/]?@;!U9V*EQMJZTK.*2R^<4)(M.DRO?89H=H%F3J=9A_ER#LW68/U?C
M;%WI6'6(/J]*J3(ZD%G2898=8%F3)CR&T#>X6H\I]#6NUI=N-9]D1R77'<$L
M^Y+E0#R^Q_#Y!BOK,7R^QLKZTJ-&"3HW*4#F@V:3I,<H>X R@\^35=H&*^LQ
M?+[&ROK2IP;O+Y[K3V4I9=YHQ\J"4?8 94VF:H_Q\PV6-F#\0HVE#:57=2KD
MBY) 916;(@-&.0"4-7$Y 4,8&@QMP!2&&D,;2J>:3RBCDNN.8)9#R7(@5CA@
M^$*#CPT8OE#C8T-I4)T6DT\H0&8C73((Y)4+0%D3^ *&+S3XV(#A"S4^-I0F
M=7ANM04Z0#8\,Y)[1\0H1X"R9DU@_&*#GXT8OUCC9V-I5(/$?)I%JL3>_42,
M<@0HTQ%A"&.#FXV8PECC9F-I4_,)951RW1',<BQ9CJP%#%]L,+&1O*.L,;$1
M++N*-3Y?A40ZI80]UT8,<T1&ELRT">.7&HQLPOBE&B.;P+*K&B;1_*D'Z))(
M9(/"-"= LR8/@PD3F!HL;<($IAI+FTJOFIS.YQ2@BLD3AY$PS0G0; A%"7.8
M&@QMPB"F&D.;_GYM=E1RW1&,<RIQCN09,)',05/H@*4.ZF('P,H&G]L4*-,T
M,Z!([D !G@TIC2B2/% MT0-%L@>J*GR@_M[2CFNRSI#<@0(X&S)?BR+) ]42
M/5 D>Z"JP@<*>%MTS4 +3*\9DC]0 &O#@AV*)!!42P1!D0R"J@HAJ-*ZEM?,
MF"9+\!"Z0:@HLDN&QH :W*VP()#4^-NSZFIQ+>JB,$!F)9+[J[!@$4H6L5<#
MPL) TN!RA<6!I,;GGE57Q0G%FR DL\+NL\+B12A?Q")UPD)!TF!ZA<6"I,;V
MGE77B[=%:4J1IS00O%'&R+"D$PD'B6XPO4+B0:)K;.]9-?9*"&G8.R$A22-!
M42.:K"/I(-$-IE=(/DATC>T]JZYS++%8[D<Z/<S,;+(AB2-!D2-'PY0$2MU@
M?X7DA$37&."SZOK-Z67*^%P>I$O"IAN2/!(4/6(+PT*R0J);_#!)"XFI\L.F
M-+K%76I4DW6&((Z"1VQY2TA22$Q3")>E<.MBN!5.>%23=880CF)'CHZ($&E:
MG##)"HFI<L*FM+AE6<8T66<(V2AVQ/8Y"$D,B6GQP"0S)*;* YL*#SRJR>+:
MA&@4/W)L_B:)(;$M)IADAL16F6!;9X*!;,0$DPR2H!"2IQ5FB?@6$TR20V*K
M3+ MW:UVWKM\?1,*M4N>=HL0CN)(GBU&D 21V!8C3#)$8JN,L 5&V(?B*0'(
M;(QT)P3A'(62J*,F<2)Q+6:8)(K$59EA5QI=]/X>Z49>X O)* D**7E68Y(K
M$M?BB4FR2%R5)W:EUT5O(Y%NY'6DD*R2H+ 26U,6DB\2U^*)2<)(7)4G=L#K
MHG<K4#CR<D5(:DE0;,G3BY PZEI<,4D;B:]RQ;YNE1C)^(H?22\)BB^Q79!"
MDD?B6[PQ"1^)K_+&)]7EQLWBGCZJ.79F=K'Q=M5MG@][E+>3A_YMO=MO<;WX
M]F,C]&>]W[B;??]EOT'ZL*'WKV:.NZM_F6^>%^OMY%N_V_6KV_WFW:>^WW5#
M%]6/PU_MI9L_?GQ8=D^[_:_[Q,3FN*GY^&'7O]X>=VS//K:-W_T?4$L#!!0
M   ( *J&G5!;Q@]_ @(  ,@%   9    >&PO=V]R:W-H965T<R]S:&5E=#4R
M+GAM;(U4VXZ;,!#]%<0'K+D%D@B0-EM5K=1*T5;=/CLP7+0VIK8)V[^O;5A*
M@U?*2VR/SV5F@B<=&7\5#8!TWBCI1.8V4O9'A$31 ,7B@?70J9N*<8JE.O(:
MB9X#+@V)$A1X7HPH;CLW3TWLS/.4#9*T'9RY(P9*,?]S L+&S/7=]\!S6S=2
M!U">]KB&'R!_]F>N3FA1*5L*G6A9YW"H,O?1/YY\3Q,,XJ6%4:SVCB[EPMBK
M/GPM,]?3&0&!0FH)K)8K/ $A6DGE\7L6=1=/35SOW]4_F^)5,1<LX(F17VTI
MF\S=NTX)%1Z(?&;C%Y@+VKG.7/TWN )1<)V)\B@8$>;7*08A&9U55"H4OTUK
MVYEUG&YB?Z;9"<%,"!:"\M:U3$8F\T]8XCSE;'3XU/P>Z__8/P:J-X4.FE:8
M.Y6\4-%K'L5)BJY::,:<)DRPPO@+ BGUQ2*P69R"#3VPTT-KAJ&A1RMZZ"5V
M@<@J$!F!<.T??""PLPKL-AE$\?ZF1UM,N,+\9Q);36*+R>'&9(L)O8/=)+&:
M)%L!W[,+[*T"^_M[>; *'.[HY183QA]\,FH@6+]J[XYN6D!AO+OQ0:N'1('7
M9H0(IV!#9^;7*KJ,J<? /,1_\&G&?<>\;COA7)A4S]D\NHHQ"2H7[T%]/XT:
MJ\N!0"7U-E%[/LV6Z2!9/\]-M SO_"]02P,$%     @ JH:=4 X]JX;> @
MSPL  !D   !X;"]W;W)K<VAE971S+W-H965T-3,N>&ULE5;O;YLP$/U7$-]7
MN,/\JI)(3:=IDS:IVK3MLYLX"2K@S#A)]]_/&,IH?%0T'X)MSN^],_?D6URD
M>FH.0FCON2KK9ND?M#[>!D&S.8B*-S?R*&KS9B=5Q;69JGW0')7@6[NI*@,,
MPR2H>%'[JX5=>U"KA3SILJC%@_*:4U5Q]7<M2GE9^N"_+'PO]@?=+@2KQ9'O
MQ0^A?QX?E)D% \JVJ$3=%++VE-@M_3NX76/:;K 1OPIQ:49CKTWE4<JG=O)E
MN_3#5I$HQ4:W$-P\SN)>E&6+9'3\Z4']@;/=.!Z_H'^RR9MD'GDC[F7YN]CJ
MP]+/?&\K=OQ4ZN_R\EGT"<6^UV?_59Q%:<);)89C(\O&_GN;4Z-EU:,8*15_
M[IY%;9^7'O]E&[T!^PTX;, NEX[(*O_(-5\ME+QXJCO\(V^_,=RB.9M-NVB/
MPKXSXANS>EZQ-%P$YQ:HCUEW,3B*@2$B,.@#!5(4:W2VLW0"("(U1A8@&@$@
MIC0 (P&8!6#C!,+D*LDN)K$QM8V)D@0PH7EBDB=VA+(4:8"$!$@<H2R-KH1V
M,?%(*#,R<T;SI"1/2O"P*Y[4X8$\BW"")R-Y,H(GON+)')X/R%B63QQ<3A+E
M!-'U%\X=HK>^,(2T7T*7"2:DPH3E8'X] VFI.\ 9%=T'O4HXC;,HFZ"BS0>N
M^R:+&FC[@>L_MZS[H-EJ:0="/*,0^J!75.8'$Z4-M%>!,"M$$Q"T#2%]1R70
M#@/78D0EN!Z+8I9-,=$6@WQ^(2!M'B3,XQ1"'S13+-(>0YA1!WW0*R; ,)Y@
MHJV(KA493(FE+8;ON."0MAC.N>+0M1A$23Y!1!L,WW''(6T<G'/+H7O-O:&5
MMA=2UYQS**ES\4,27I]^,.JG*J'VMI-LO(T\U;:-':T.W>H=VG[L?WC7ZG[C
M:E_4C?<HM>GJ;.^UDU(+(R:\,?D>3'<]3$JQT^TP-6/5M9C=1,MCWSX'0P^_
M^@=02P,$%     @ JH:=4.0F7WC- 0  I@0  !D   !X;"]W;W)K<VAE971S
M+W-H965T-30N>&UL;93=CILP$(5?!?D!8G!(R$: U&Q5M5(K15NUO79@"-;Z
MA]I.V+Y];4-0-NL;; ]GOC-CC,M1Z5?3 ]CD37!I*M1;.^PQ-DT/@IJ5&D"Z
M-YW2@EJWU&=L!@VT#4F"8Y*F6RPHDZ@N0^RHZU)=+&<2CCHQ%R&H_G< KL8*
M9>@6>&'GWOH KLN!GN$GV%_#4;L57B@M$R -4S+1T%7H4[8_%%X?!+\9C.9N
MGOA.3DJ]^L6WMD*I+P@X--83J!NN\ R<>Y KX^_,1(NE3[R?W^A?0N^NEQ,U
M\*SX'];:OD([E+30T0NW+VK\"G,_&Y3,S7^'*W G]Y4XCT9Q$YY)<S%6B9GB
M2A'T;1J9#.,X\V]I\00R)Y E@4R]3$:A\L_4TKK4:DSTM/<#]9\XVQ.W-XT/
MAJT([USQQD6O=5X4);YZT*PY3!KR3I,M&NSXBPF)FI  6-\!2)K' >LH8!T
M^;L*=@]53IJGH)%!DZTV<9,\:I)'3)[B@$T4L/G09KY+XX!M%+#]6,$N>V@S
MIB%QDR)J4D0 ZP>3F.;Q@^&[(^;_X!]4GYDTR4E9=UK#F>J4LN!XZ<IM3>\N
MC67!H;-^6KBYGGZ=:6'5,-\*>+F:ZO]02P,$%     @ JH:=4#R0?12< 0
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
M\W]LDQSF+&30QLF*./\(\[G#UQ\( Y2$RSB-@"W3THI=*WAG'G8EVTT>)07
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
MVB!APCFC5S@4C*6#H0%!'P')4Y")%!V&1>]NU]$3[A:!F37)-4$D(Y"^NRV
M <][*LBD8$X] M?Y,0&AE\_B(?J(7NL8%:KY"C:;+!,D41G>%2(:?L37E.6
MWK)!HET3/L5N<H2V9Q"Q"E IER1.TF)A(*9&B1864&4-9A+H I<#9P#$!S8E
M1QL);HH6C6%WJ.&0=FLL&WAURON0Y" ?HTD.0)O?2K.TE3VF:$,$^)@+:12P
M(=\F22  ?T)(+1.7[,0RHC3OMXV$_B%"N R -*X+$WVPXZW/H05.2-^)H=VW
M:(T$"8QW>9O<IQ22![=G/70-?,;GGO$\LM]&_>Q9@]OW[]Z=W/Q"RMOYCY?G
M;\]/3R[O@I/3TZOWEW?GES\&UZ#KG9Z?W2(' ZZC#\EF4FHT_.WD]CV>S*C5
M[8<6TSY/8>E;QJ%6<$I&@N""W->A9H36N\(0@^. $#:/+1R!6YV+T0_0 BE-
M86W3MS" KCEH^H9EGJ3I%E;%,6EHR'@>D0+>FJS@!Y2^F=N?G=(H\2S?(CW"
M1QA2B-C3VA$@(R @2%V0@X+@,:>Y<0?/$3Z8L[#B292W'9S+8$SR3J_^=OZF
MU9V"!@NCKI,Y'+^ L%I4'/R<Y4#@?XJC%>S!EL;0^K32(E*V+6?  #[@V#1N
M@ ,#-9"AP^#Q(8&!V5:SY3OAV&A$I&Q[#YRD9#FE?=MFB@M_/-+T^!?(WD*/
M^7[$:4 $'@Z)=1>\SA3@)T>:N2;YG:?">2.YU8])O@5P8H)"PED.![\"(395
MI\:Z'),M9!01#HTP"((&+" '?;\%>@;J)CEJHXSJFBZN$A!:(J,G%@_;<@$D
M#:[@YP<TRC\RB]VF9-6$]0$X;C'.$*2B#4+]O#0L0D" 0$3?&48(,, (:"A>
M9;L,:/T&.!!Z$I:D5PG0\T4B-MRY,?DMMK0>?8C;5 0]MHQ;A_9 1-^(X@50
M]5QX!/$N!57*R0R#D'ZI[X6DV*+(T+,@=G1@VS!AB >TR(BSRTDHEA:G<'T9
M#T1GD,;W$<M8&E?H-%@ZL#B!.0=]5!E^2_&""/#MX*?L$3<1&A:=Y"":6*("
M(P:N+B&LHB7F24RZDL%:M:@:^KI+L+:OJ80Z.!!OXWE$7I!460*97N6V>&>V
MFL=&E&3L9=^%1DH$G!JXX" :6$AN(6%.A!>$/Y33EZMXKH3P@CPMR3HF_JFN
M"+ 957'\K;IGC12"?2D23(Q+"'G'(),6&,X"]&05/=%C]YB+P%>\R3/84*P_
MQSJ2R3RNL5\V06=&2H4@=A6?Y\#&4;58+CD(#;8T7R5$,HN'9$DT9(EAJ[BI
M-48(H@1%)T\.QX+VC8<-Q.D#H0+@KP2_LX0'?&>UBIGU,'&#!Z)-J?#F$8Z9
M(5R?#G*R+G R@"0XM8@"A1_C&9N90/QG&0\X')F-0\+E[9Q&Y)@N )DLY>!,
M17;@B!+$2=(0LV5,^J05) <'L\Z0YK2#JRT*BHDBJ"+-E0\@$@)+1"4YHH.
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
M'?%85"-OK;"2=O#&B,2'&;6KP6!HD*X&"9S7YA8V4>FMJA))E/L?=(OMNG!
MU>Z@&AQ)SO]Q*(56#P9!.^]^*<-]QL8QOX?4H9?=H451JYU=X$_8*<+JIMK0
MRK!FM@#V.M_9UT3""L"0\;@ Q%Q(I,K1B]JO[&@!DO*1F1N9@D^VR"ZP<F&@
M1%Q*[46FP[Y6./=[H&:_ZC"63?8!XXQQ:%K]-I?00Q!.5NPFB6E"C$\,?GA[
M=Q,&%Q>G./DCD'9,R7E,)6HT623H9X(3_B$I,MV' EU'98IQH'\++MK7E7.G
M>L0,E.PO$4,R1NAUJCX38RVN'V1W4CU(O4JFZ_[6.S002MXZ+TZ5%A=.(ZDC
M5D:'T T"?X(\4V9+]W"QU? D7:ZH=(21-7@M<:RE#(N_V,.K!%UE9>7@!L.@
M.!3(WEE!050),P#: /=?39_L> PF,%(!]$3"<D.312";KG,7)/I%(<Y^,YQ-
M3=%_4G#A07NE[/KSCYPL);6,6:#.)48_W(%19!CTQ6RC6E-W@<%5INIDZEE5
ME02K,(OJD=JDZ+^ -3:W\[R0;D6G#>T\9^5A<F/3B,$5B 58XHBUK([E*:9J
M=LR%,(T6:V_5*V_I4' 6%E48_BHFC-H ^JLH@Y_C%>B6;Z/\'HA)E'X(L6X)
M>X=.Q!/!.?(@U5:;?)^0O_,(3U9BDF3E;Z7LEXE+0J2O_6@L9ARN8OI *=Z%
MQ\'>*WN'MD(+>^\9LE^@6WB=L(EL%9<EYR7+>/Y%D"# R3+UP^X-0/^I%U(K
M/6/,T)ZFJ1T9DW,IXR2E (ZZQ\XY6Q$R:$2F-XZLXDLJ?.$AN:?P$?Q]89?O
M*(X#RH.,5#X7S-=I=WO#[_#U3GL,'^ @CD"5QE5G:=P"CO&8X7^1M[;(0E@D
MGUK$9(.+\Q^N;G@>9]RN'K>+XS9)C(S 2C0BA8 ,#?UV'QB".<'Z6?R^<@JJ
ML(S1$WLPO?U^O]-: )GA%;/'UW^]3LDOB1/6#2I,T5T\4W])X%IB,BSL(9FA
M_W>K#= 4<*;K.1I2%"+=(^(8LH^+:F]0946*)M.Q;02X.II8Q&G+48MJ[PSH
M4\H<!%^(TUV2.YT[,U<IG*P<CE2$%M@?;&]O"<)]=04]Z""%@73\GWX'@UG@
M&2SPAG:#2L% A\Z:R!QTQ7 $V8YG#J*TOC%5F7_,X=)!?%;'2(7(NM!@?]3N
M?_?<8I.1I/'V>NW.P2]C(PLRS5?J[9E5ZN4]I^E 45E/3=X+I*4[6W:D[!XY
M)18@U<;D7C7EILV2/E'@CM5@LQ+\*W(=0&!*ZZ:("%'P&\_<:G,A48A&G2;0
MYB0N9$"F  NH%-L27;[58H#+&,-Q5KYK[76_4Y43/VL7(>LQM2 T]'DL6/4C
M#- M,4PS$I$UK=G86%K$=&-4Z(SP2AW4YZQ.T@KQR!#C /I,@LUG0O!+H/_/
M'0,!^>Q3)?_0W4U8@VX.D8!E]\;/P!D'X4;MR;,0CI))%KHUO G:[XY'VK+Q
M<C*AS\G!<6?XEB^)BGA6E@.)I\8#P0G:'V_0NK:D=\Y4J,6M:FYZ].+TY.;L
M]L4QEJ=3]F \)Q2VE4RXBAY1HI%^#6.U"BUQ(;73R:@O>^T>EBOE.X6WEYQM
M]^"KHTJ>2'B3TJ?I&6K)P"$ALB&T&[)*8 S57%A/[\NJIFPQP;H,?X^]%9@2
MZ)!O3/(A(*&]+E"]QJ^/XO9].U15Q^=<H"[)488L1/[4:$AW:\*25<U8/%8\
M5)UW =(@&F'S)[M7B&5 0327/]G(B /#T3O52BRM=%LFB)$<,F8J+DILOY:=
MA%($"V5 PA/"YA(I<R&4P]?;M44G JE)&>)B 5)4_K)I3QI*[HO5KAFV_@_0
M-UG! R42#D67M:8NONW@G6K(P!JEICB\\9;>>&SJ@:*T&ZD(0@0UCK:C)%C
M*4IXIL SG/^6RWAK^(8'\@S+A="0[,*@$F&FN@;F\Z@@,SQ>53,5))JYQ)&+
M\;OFI$(<T'J_%>3XF$FP/AX0RLMZ]0"Q7&13[:%2'U6)',)!_!ACE1Z,@B&0
M,KDO.'YS]H\1@I=*.RNI;!A/R?NAP[!;4TF#!+0E"#$5=F&6S-4V"2@J]=H6
M-7"W(_2%+9F3M+NJI)G-0JVL)MOHH%P#='.L#^A7*(Y;5>91CBG;2*"*,DL9
M(>M558WTR9$457-3].UQ..G^)YJ%Q.#3>O6J #DU_N.+C60'O?"-L"M.5@7U
M89-U@VF8?30WL?P;K)A'0V&%GV2U+>U(?_WKP7&UE]B5)<("[GCQ/!D7(FX>
M^M(TQWH9#,;A<-BAT(*P/Y@ \B#K27%(+%6*3"%>M"))!^<)*EVS*ZI"?QH.
M@47V)V&_,T%+ BQO(;;80EN<,<[\HVUR>R5AO"+ =,/18 #_[8W']GIHB\T;
M"UK2PY:$Q=K"9:V#;MB%H7&9DZ'ND$MCV)MZ%?Q &WT)BB^YG4&O[H*ZP5/C
MM]T1?3N:!G6XNXA]K4/YVQUJBCSP<RR%>+G3@JJEKIID;0M=S\)NZ$-9]*N5
ME#M,"PP9,K4FI<.:ZLK>KE3/7/&\;/E+6W-DX*S"U4L#FSH#BF(@%=I@FJ<.
M"J(@(Q2K29B0I*7;3"?0%K&:4+$-U3R79''R5=(^R0#4[:@A3%LV5M#U,,R1
M-8M"$]>39[T>;;<=7-4VR.'!'"-1,42\M..HG]GL[>5GB-]:!ZSTM*O?AY(6
MG*"."^ET@;OQ=#\-3L7'*XD;!U(:WVD! Z<:2:&*9&,K0-5@J$N2OT3$IK!5
M#'WOV.[/SQUR.![ _SO!WU3MEL\=J#\%@C/J$VVTQJ (V_Z _NUV^@UFDQN[
MN/;1BYNK]R"H"Q!:==_K!;9-4%_U:.M]!TSESKVFZ^?%+W'8PBOG:GW%PN'2
MQN%TVN-@8_QP87;B#$%]T?3MCC#3 ?\[&7L>-&4!NL-P.*!@L4FO)U%<[JE1
MK.FTAX%QO7[8ZTR#V^U&]5*I-IBU)%=ULE$UQHO]FN?6.P>BPZDI>O.*_Z 4
M(Q6%8SLLR/5L%90""')V99\@F0R!J_+H=O<V R&(0Y,QQ>2%PWZG"H)R99SE
MP&NH%+\6#F,%*QTQ[2\>CMVK1"%AB(%V@WY7: N70I%^!^S?AW,V\D*@V*X)
MDUJ9%X^(J!\'@+KN&Y41@T$;I(GOU#]^[!.O?L+1(BZ\./3Q%VG0B,NJ((7D
M(]$E'YGP,?P;PPN'X60PQ+^Z",L#! 0 TT&(7V# 38#1D5/R(<#'(3Q[IP.6
M @ZJMV%:&QH BO$J+T">?V5\]D< Y$/02J0/M57\LKEDO\&-&T8&,7Z*TI3D
M"^T$ HY*%8I9S)AM$W%VH]L6 "4#7>-MM((#D79>OT0Y_1%2C'G\.KC8SF8D
MLV$9:B!!61C<Q9^BXG5PEV=/(:8E/@!\I?!D!&K!.@3:^AC\DN4?N / NPP+
M,X/"?O609&TC^) 8KD.8M=A@5L@MK?)%BYE]J4S:=US.C318M&0+Q&4L_^B>
M.'7HEOJ"A57Z 'M4J$K<E@#&%2 I]IGF% 0K["XZ)MZ\M"MN.66CN=<,AUV)
MZJ"J'7%*%WUG!5+1"RKHJ":IR4Y$&)O%Y2,&$Q(8LPFJ-V1AA(Z46T0Z8A?%
MH="1&0%LB3S2B&"F*ES"6?)6O5ZJ2BH\C]2+6!PTEUD:UX5-1$29L, F@6@B
M4)EK>AT+M><;1=AKL%P%@.<(9A0T2T:P\4#;]PX6SNSW)_1^?8TUC[4GE4('
M/^[D[?YPF;<<KJFL078S(WL1.@1.A9]B82]+**Y%.W\N5>S" 4R9*J)8UV.J
MV T'G1Y31?C8[S%5A(^CGDT5)\!85 ;)F$+$]SFF[#1&RX9@#B'+ZSJ"Q-HN
M=*PM)^3-XX4_S[;U YW<J=7EQ/\<G_"U5"*SJM,_U]+0-*W7WJ![NQ=[F[)4
MG 76L]I1<)"$Z8/"$!&VV(KYAE+KL9P$J_&5+1QLRC@5K=13NWMGK@]E5/6&
M*)GVP_%T\CS!O]L/.\,.J)KAJ#L16-Q[K"0,]SL]3A<9=$>.%>!64@IPZANY
M!$O*;'K\1A>U>"X$[9X/J;=*,<*CO,\C-N^9)ZP,?%T)H)H'IWUS=B*^,DE*
M@U08""/E5Y:MGWF'FKU24,GN^5DI=^YVF-'676PJG!JS/N5D*X^(7D/5U*OJ
M-IGF+,;-;[8=!FAV-V83S _GQAYY?(^>#_0Q4F"V!8UF*^K,7N^9Q(1U4Y ?
M=NLY9*+*]33/R6/2VV@*4U43U95Q3]9= V!LL[AE"I1("N\LNTHZ^ ")13[U
M>E3)AT%#K[NBT,AR'F @?9J#=;$9+B<)(3$K=A\4U3?GIH,F. *I5V_2:0$-
M"%Q$9!?E;P@P!,)?%UK"SSX@6<QG@I&\+>Z9)CB2IR0#_'F )#48J%L.L2R,
MH\R3B,/)K-1VVGLE'E^J,'+=(.:D?-E\P[YD+E5UZTSUR3I6[["Z<7:K<\>T
ME[5"'8T'DR!M-^%378#8$633YC*>/Z39*KOGFXZV92:_<'\@RE3E(@4M/!$J
MF29KQS2B%JMYJMG7<IO.I5$"E^Y_Y84^FDN#>.@!BK *$<\!3@<^^$3=5#E=
M^>QWT7KS^JY^$>;@*V>J#IHS._B\)%BX,@/'RBJS#$9.,*"#PD@RIB)"X0'8
M9%GA/;0+W228#HPTI<)2'7ZIJ"(Y4NT.+=<'CBJZQROFU@]/!<$#'#3%(+ 7
MQBH#Q+EA!4?]FCUS"T"\)JG^J>D<U^R!*5^3>+0M*?TX6CUAH3W<DMZ^[@?X
MNMX5E$(#8-R"QD R!X]K8'LM^#M+I'VYUFKAO4WT%.?&;<E7B ?P]RV@[X+;
MNE>;5=E)>EHO0DD"Q4/=;42GL=&YD3G@R<8,R5.!36H:I:#0Z!]*2R-]&4L)
M-CZC[;]588:J!HD*%R\S[9C!)L"UY VG'Z1=1D15&DGR2MDA3[P!HZ&)96IK
M-N@L68=V)';^KI4P*7AL9_<W/BKJB>I^SM54N','3DE-!@"!F6[CV6BJ3L:P
M6K.3BIIK=+$=F\'S-[FWQOZC34*,)T;^9P^1DH/C3_&</9D6$:"NZ<3:)"[4
M*ESFT4.HV3F3K'U*AYX6!LMCE5C2MG;0"&C4\%E?G;]AK*4J1FKPUB.*[-@4
M!\^$(N_FE*^C(Q^P=!C<;BM)6T#[,8 5^X9C#@25\5*=V#$^PNH^S%TYYC$5
M))8:1(WSZ8VKH'\N0]A0S(_,1WM)=07C['BJ#5:LS;8%-9^07KNB'1MFSY&2
M:Z#8.IY2N%-%/"AB'4)$-F@.,<MT51TKHP*'>(RHQ!:OQ5HK%O@MK#M=8-<-
M%1S$:<E4,9A;RH7";M-(50&]S[-',>)R)Q"KD#!=C@*D:RI!QC7EQ8VACA[V
MCN_7=EE8]9\CY7JW-LAY-0R3O-GV;UC5X?!"+,-P.B3W43BF.C-6-0-?'9WQ
MB.(1AF%G/*T7U7$+LPP&X70P#<9A=S*HE]:QR[-T.X-P,N@&TW#8&S@5=O96
MUJG^Y:VP,YYV@]XXZ$EYG=^R'D4CB7T9C#KA8(R6DE$X[4RH"EHG[(PFQQQ\
MTN_V?L-J%H?#Q 2N@4U(/:JH9&#"6Z9G!,\-A^3\Z=1K]GA@ BN"C  FII-Q
MO7*/#1/3+D#-))B$T]' J=^SMVY/]2]__9Y^)QCUJ X'E^_Y+<MP[ "*X1"
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
MZ\[LGD+229&E$R;*1[H.'*2>%%D]+V7,/>,&4D^*K)Z^Q+DWEI!X4F3Q]"R
M!M[GK7]-&&)"XDF1Q=.+>1S:-/1C!HDG0Q;/TUHM1'LAC\T@\63(XGG&+&QC
M55O[,52[0E)*';YYRB#Q9,CB>1G3VER'^5@&B2=#%D\OIO03*+?W/L0$MU.0
MQ?.,^86:5CDY/M_TFM-5B F9)WN==*<;S75KD9G;< TQ(0=E9TM_3AV400[*
MSIK^A"OA#+)0AFPA&#,+,2$+9=C;+B!F'FY)0A;*L7=@7DXFW<,98D(6RI$M
M]#*F]V>("5DH1[80G/.&0RB'+)0C6PC&#(=0#EDHQ][5AU[]DHL0$]S6]Q8:
M'O__4K&US02JI>U"V_*2UN6M(NYPV-[+<O=:?MW6]=26W8B%I/Z_+*Z-XU^!
M/OP'4$L#!!0    ( *J&G5 MGDXW^0$  'HA   :    >&PO7W)E;',O=V]R
M:V)O;VLN>&UL+G)E;'/%VLUNVD 4AN%;0;Z #.=G2%*%K++)MND-6#!@%+ M
MSU1-[KX.FSI2XJ\+]+$!(= Y[\:/K#$//].Q+H>NS<VASXNWT['-ZZHII?\1
M0MXTZ53GFZY/[?C-KAM.=1D_#OO0UYO7>I^"+I>K,$QG5(\/TYF+Y^VZ&IZW
M4BU^U<,^E745WH[A3S>\YB:EDL/Y36[&!>-/WOOT/^N[W>ZP24_=YO<IM>6+
MBG\+JO!UD,X'*3W(YH.,'N3S04X/BO-!D1ZTF@]:T8-NYX-NZ4%W\T%W]*#[
M^:![>I L@8Q+?A+"FJ^U *Z%[[4 L(4OM@"RA6^V +2%K[8 MH7OM@"XA2^W
M +J%;[< O(6OMP*]E:^W KWU"O?:Z&:;K[<"O96OMP*]E:^W KV5K[<"O96O
MMP*]E:^W KV5K[<"O96OMP&]C:^W ;V-K[<!O>T*9R7HL(2OMP&]C:^W ;V-
MK[<!O8VOMP&]C:^W ;V-K[<!O8VOMP.]G:^W [V=K[<#O9VOMP.]_0IGW>BP
MFZ^W [V=K[<#O9VOMP.]G:^W [V=K[<#O9VO=P1Z1[[>$>@=^7I'H'?DZQV!
MWI&O=P1ZQRL\JT0/*_EZQXG>N:F'M'TIPZ'=YTN7?!K^;<T$[ES>C^GR&>>I
MW^Z?*%W&+2F<7R]^B9^G?D2$3W^U>/P+4$L#!!0    ( *J&G5!WOQ-;U@$
M #4A   3    6T-O;G1E;G1?5'EP97-=+GAM;,W:74_",!0&X+]"=FM8Z<?\
MBGBCWJJ)_H&Z'=C"UC9M0?SW=A-,-)A@@.2]86RG.^?=:)XK;EX_'(71NFM-
MF&9UC.Z:L5#6U.F06T<F56;6=SJF4S]G3I<+/2<F)I-S5EH3R<1Q['MDMS?W
M--/+-H[NOJ[WK:>9=JYM2AT;:]C*5+^:CC<-<T_ML";4C0MG:4$V>EBG+B%=
MFV:I&C*VQX3?-_;GZ;ZG%7G?5/2O:'8V:TJJ;+GLTBUY<)YT%6JBV+5YJ+6G
MZB7ZQLPW>9^UCX^Z2XW9NF4_%N2GRQ$_6MH=8*@<<W),VX)VC1H*7Y_\H(';
MW5!:3V/G4]7'9L?CI4C/J1I8O_"8CTC]UJFHVFMX:GVZ'_;=^L7P?=<+_RX&
M-AP.>^O'RR% <DB0' HD1P&2XQPDQP5(CDN0'%<@.?@$)0B*J!R%5(YB*D=!
ME:.HRE%8Y2BN<A18.8JL D56@2*K0)%5H,@J4&05*+(*%%D%BJP"15:!(JM$
MD56BR"I19)4HLDH4626*K!)%5HDBJT215:+(JE!D52BR*A19%8JL"D56A2*K
M0I%5H<BJ4&15*+(6*+(6*+(6*+(6*+(6*+(6)Y1U..:=;LQ?2=ZL76SGL^'?
M$K>?4$L! A0#%     @ JH:=4!\CSP/     $P(   L              ( !
M     %]R96QS+RYR96QS4$L! A0#%     @ JH:=4"?HAPZ"    L0   !
M             ( !Z0   &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4    " "J
MAIU0JF6&DNX    K @  $0              @ &9 0  9&]C4')O<',O8V]R
M92YX;6Q02P$"% ,4    " "JAIU0F5R<(Q &  "<)P  $P
M@ &V @  >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0    ( *J&G5  ,U2]
M-@,  #H/   8              "  ?<(  !X;"]W;W)K<VAE971S+W-H965T
M,2YX;6Q02P$"% ,4    " "JAIU08GL8C)$$  "K%@  &
M@ %C#   >&PO=V]R:W-H965T<R]S:&5E=#(N>&UL4$L! A0#%     @ JH:=
M4+[B*TF7!   AQ8  !@              ( !*A$  'AL+W=O<FMS:&5E=',O
M<VAE970S+GAM;%!+ 0(4 Q0    ( *J&G5!I7-EK6@(  $\(   8
M      "  ?<5  !X;"]W;W)K<VAE971S+W-H965T-"YX;6Q02P$"% ,4
M" "JAIU0#IB 2:4$  !4%@  &               @ &'&   >&PO=V]R:W-H
M965T<R]S:&5E=#4N>&UL4$L! A0#%     @ JH:=4(='-0S2!   "!@  !@
M             ( !8AT  'AL+W=O<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4
M Q0    ( *J&G5"%P.OUL $  -(#   8              "  6HB  !X;"]W
M;W)K<VAE971S+W-H965T-RYX;6Q02P$"% ,4    " "JAIU0E?-G:+4!  #2
M P  &               @ %0)   >&PO=V]R:W-H965T<R]S:&5E=#@N>&UL
M4$L! A0#%     @ JH:=4!J(D6VU 0  T@,  !@              ( !.R8
M 'AL+W=O<FMS:&5E=',O<VAE970Y+GAM;%!+ 0(4 Q0    ( *J&G5 .8;B)
MLP$  -(#   9              "  28H  !X;"]W;W)K<VAE971S+W-H965T
M,3 N>&UL4$L! A0#%     @ JH:=4%E8?Y"U 0  T@,  !D
M ( !$"H  'AL+W=O<FMS:&5E=',O<VAE970Q,2YX;6Q02P$"% ,4    " "J
MAIU0+!%2@;4!  #2 P  &0              @ '\*P  >&PO=V]R:W-H965T
M<R]S:&5E=#$R+GAM;%!+ 0(4 Q0    ( *J&G5"]KB0.M $  -(#   9
M          "  >@M  !X;"]W;W)K<VAE971S+W-H965T,3,N>&UL4$L! A0#
M%     @ JH:=4&^I70&T 0  T@,  !D              ( !TR\  'AL+W=O
M<FMS:&5E=',O<VAE970Q-"YX;6Q02P$"% ,4    " "JAIU0Z7I.-;0!  #2
M P  &0              @ &^,0  >&PO=V]R:W-H965T<R]S:&5E=#$U+GAM
M;%!+ 0(4 Q0    ( *J&G5 '/:D=OP$  #<$   9              "  :DS
M  !X;"]W;W)K<VAE971S+W-H965T,38N>&UL4$L! A0#%     @ JH:=4'#>
M?+*S 0  T@,  !D              ( !GS4  'AL+W=O<FMS:&5E=',O<VAE
M970Q-RYX;6Q02P$"% ,4    " "JAIU0!Y-G3+0!  #2 P  &0
M    @ &)-P  >&PO=V]R:W-H965T<R]S:&5E=#$X+GAM;%!+ 0(4 Q0    (
M *J&G5 >]+X/M0$  -(#   9              "  70Y  !X;"]W;W)K<VAE
M971S+W-H965T,3DN>&UL4$L! A0#%     @ JH:=4)BY'VBU 0  T@,  !D
M             ( !8#L  'AL+W=O<FMS:&5E=',O<VAE970R,"YX;6Q02P$"
M% ,4    " "JAIU0.0UD3[0!  #2 P  &0              @ %,/0  >&PO
M=V]R:W-H965T<R]S:&5E=#(Q+GAM;%!+ 0(4 Q0    ( *J&G5"[!M8UM $
M -(#   9              "  3<_  !X;"]W;W)K<VAE971S+W-H965T,C(N
M>&UL4$L! A0#%     @ JH:=4+QFV57B 0   04  !D              ( !
M(D$  'AL+W=O<FMS:&5E=',O<VAE970R,RYX;6Q02P$"% ,4    " "JAIU0
MF9NLZ;<!  #2 P  &0              @ $[0P  >&PO=V]R:W-H965T<R]S
M:&5E=#(T+GAM;%!+ 0(4 Q0    ( *J&G5"F1>G6LP$  -(#   9
M      "  2E%  !X;"]W;W)K<VAE971S+W-H965T,C4N>&UL4$L! A0#%
M  @ JH:=4,^AEH+M 0  9@4  !D              ( !$T<  'AL+W=O<FMS
M:&5E=',O<VAE970R-BYX;6Q02P$"% ,4    " "JAIU0;78\M[(!  #2 P
M&0              @ $W20  >&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;%!+
M 0(4 Q0    ( *J&G5"DR+N*Q $  #<$   9              "  2!+  !X
M;"]W;W)K<VAE971S+W-H965T,C@N>&UL4$L! A0#%     @ JH:=4-M5Q"6V
M 0  T@,  !D              ( !&TT  'AL+W=O<FMS:&5E=',O<VAE970R
M.2YX;6Q02P$"% ,4    " "JAIU0]1F)I+4!  #2 P  &0
M@ $(3P  >&PO=V]R:W-H965T<R]S:&5E=#,P+GAM;%!+ 0(4 Q0    ( *J&
MG5!*FJ< 30(  ",(   9              "  ?10  !X;"]W;W)K<VAE971S
M+W-H965T,S$N>&UL4$L! A0#%     @ JH:=4'#3FI+< 0  # 4  !D
M         ( !>%,  'AL+W=O<FMS:&5E=',O<VAE970S,BYX;6Q02P$"% ,4
M    " "JAIU0A*P&27@"   T"   &0              @ &+50  >&PO=V]R
M:W-H965T<R]S:&5E=#,S+GAM;%!+ 0(4 Q0    ( *J&G5 DDYH=G@$  %H#
M   9              "  3I8  !X;"]W;W)K<VAE971S+W-H965T,S0N>&UL
M4$L! A0#%     @ JH:=4"T"E Q3 @  K <  !D              ( !#UH
M 'AL+W=O<FMS:&5E=',O<VAE970S-2YX;6Q02P$"% ,4    " "JAIU0 J^J
M)6 "  #O!P  &0              @ &97   >&PO=V]R:W-H965T<R]S:&5E
M=#,V+GAM;%!+ 0(4 Q0    ( *J&G5"^OG@ Z (  -X,   9
M  "  3!?  !X;"]W;W)K<VAE971S+W-H965T,S<N>&UL4$L! A0#%     @
MJH:=4/=;7'X5 @  _P4  !D              ( !3V(  'AL+W=O<FMS:&5E
M=',O<VAE970S."YX;6Q02P$"% ,4    " "JAIU0<HI>U'8"  #X!P  &0
M            @ &;9   >&PO=V]R:W-H965T<R]S:&5E=#,Y+GAM;%!+ 0(4
M Q0    ( *J&G5"P!P?"W0$  &($   9              "  4AG  !X;"]W
M;W)K<VAE971S+W-H965T-# N>&UL4$L! A0#%     @ JH:=4'I.(Z5, @
MD <  !D              ( !7&D  'AL+W=O<FMS:&5E=',O<VAE970T,2YX
M;6Q02P$"% ,4    " "JAIU0RN0S1R$"   !!@  &0              @ '?
M:P  >&PO=V]R:W-H965T<R]S:&5E=#0R+GAM;%!+ 0(4 Q0    ( *J&G5!-
M9ZD5!P(  +D%   9              "  3=N  !X;"]W;W)K<VAE971S+W-H
M965T-#,N>&UL4$L! A0#%     @ JH:=4&*QWI,7 @  _P4  !D
M     ( !=7   'AL+W=O<FMS:&5E=',O<VAE970T-"YX;6Q02P$"% ,4
M" "JAIU0Y \O:S<"   .!P  &0              @ '#<@  >&PO=V]R:W-H
M965T<R]S:&5E=#0U+GAM;%!+ 0(4 Q0    ( *J&G5  ;3*Y^P$  +X%   9
M              "  3%U  !X;"]W;W)K<VAE971S+W-H965T-#8N>&UL4$L!
M A0#%     @ JH:=4/QL*Q P @  A@8  !D              ( !8W<  'AL
M+W=O<FMS:&5E=',O<VAE970T-RYX;6Q02P$"% ,4    " "JAIU0=XU_C=T!
M  "W!   &0              @ '*>0  >&PO=V]R:W-H965T<R]S:&5E=#0X
M+GAM;%!+ 0(4 Q0    ( *J&G5#,G0H36@8  !(H   9              "
M =Y[  !X;"]W;W)K<VAE971S+W-H965T-#DN>&UL4$L! A0#%     @ JH:=
M4 H+3%NM @  R@D  !D              ( !;X(  'AL+W=O<FMS:&5E=',O
M<VAE970U,"YX;6Q02P$"% ,4    " "JAIU0"9.'ZM((  !"/@  &0
M        @ %3A0  >&PO=V]R:W-H965T<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0
M   ( *J&G5!;Q@]_ @(  ,@%   9              "  5R.  !X;"]W;W)K
M<VAE971S+W-H965T-3(N>&UL4$L! A0#%     @ JH:=4 X]JX;> @  SPL
M !D              ( !E9   'AL+W=O<FMS:&5E=',O<VAE970U,RYX;6Q0
M2P$"% ,4    " "JAIU0Y"9?>,T!  "F!   &0              @ &JDP
M>&PO=V]R:W-H965T<R]S:&5E=#4T+GAM;%!+ 0(4 Q0    ( *J&G5 \D'T4
MG $  %@#   9              "  :Z5  !X;"]W;W)K<VAE971S+W-H965T
M-34N>&UL4$L! A0#%     @ JH:=4!&EY%>F20  N3,! !0
M ( !@9<  'AL+W-H87)E9%-T<FEN9W,N>&UL4$L! A0#%     @ JH:=4&?*
MZTU' @  M@H   T              ( !6>$  'AL+W-T>6QE<RYX;6Q02P$"
M% ,4    " "JAIU0\#_[2YH$  ".)   #P              @ '+XP  >&PO
M=V]R:V)O;VLN>&UL4$L! A0#%     @ JH:=4"V>3C?Y 0  >B$  !H
M         ( !DN@  'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#
M%     @ JH:=4'>_$UO6 0  -2$  !,              ( !P^H  %M#;VYT
D96YT7U1Y<&5S72YX;6Q02P4&     $  0 !R$0  RNP

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6820050768">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF INCOME - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenues</a></td>
<td class="nump">$ 276,541<span></span>
</td>
<td class="nump">$ 247,066<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfRevenueAbstract', window );"><strong>Cost of revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Total cost of revenues</a></td>
<td class="nump">147,410<span></span>
</td>
<td class="nump">131,018<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">129,131<span></span>
</td>
<td class="nump">116,048<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SellingGeneralAndAdministrativeExpense', window );">Selling, general and administrative expenses</a></td>
<td class="nump">67,485<span></span>
</td>
<td class="nump">57,766<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost', window );">Research and development expense</a></td>
<td class="nump">22,361<span></span>
</td>
<td class="nump">18,941<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets', window );">Amortization of other intangibles</a></td>
<td class="nump">5,392<span></span>
</td>
<td class="nump">4,850<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">33,893<span></span>
</td>
<td class="nump">34,491<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income, net</a></td>
<td class="nump">990<span></span>
</td>
<td class="nump">586<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">34,883<span></span>
</td>
<td class="nump">35,077<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax (benefit) provision</a></td>
<td class="num">(12,667)<span></span>
</td>
<td class="nump">7,729<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 47,550<span></span>
</td>
<td class="nump">$ 27,348<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings per common share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (usd per share)</a></td>
<td class="nump">$ 1.20<span></span>
</td>
<td class="nump">$ 0.71<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (usd per share)</a></td>
<td class="nump">$ 1.16<span></span>
</td>
<td class="nump">$ 0.69<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tyl_SoftwareLicensesandRoyaltiesMember', window );">Software licenses and royalties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenues</a></td>
<td class="nump">$ 18,737<span></span>
</td>
<td class="nump">$ 21,793<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfRevenueAbstract', window );"><strong>Cost of revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Total cost of revenues</a></td>
<td class="nump">740<span></span>
</td>
<td class="nump">818<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_SubscriptionAndCirculationMember', window );">Subscriptions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenues</a></td>
<td class="nump">81,723<span></span>
</td>
<td class="nump">67,275<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tyl_AcquiredSoftwareMember', window );">Acquired software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfRevenueAbstract', window );"><strong>Cost of revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Total cost of revenues</a></td>
<td class="nump">8,027<span></span>
</td>
<td class="nump">6,682<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_TechnologyServiceMember', window );">Software services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenues</a></td>
<td class="nump">52,133<span></span>
</td>
<td class="nump">48,443<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tyl_SoftwareServicesMaintenanceandSubscriptionsMember', window );">Software services, maintenance and subscriptions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfRevenueAbstract', window );"><strong>Cost of revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Total cost of revenues</a></td>
<td class="nump">131,779<span></span>
</td>
<td class="nump">117,160<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_MaintenanceMember', window );">Maintenance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenues</a></td>
<td class="nump">114,365<span></span>
</td>
<td class="nump">100,152<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tyl_AppraisalServicesMember', window );">Appraisal services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenues</a></td>
<td class="nump">5,763<span></span>
</td>
<td class="nump">5,214<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfRevenueAbstract', window );"><strong>Cost of revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Total cost of revenues</a></td>
<td class="nump">4,385<span></span>
</td>
<td class="nump">3,452<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tyl_HardwareandOtherMember', window );">Hardware and other</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenuesAbstract', window );"><strong>Revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total revenues</a></td>
<td class="nump">3,820<span></span>
</td>
<td class="nump">4,189<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfRevenueAbstract', window );"><strong>Cost of revenues:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Total cost of revenues</a></td>
<td class="nump">$ 2,479<span></span>
</td>
<td class="nump">$ 2,906<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amortization of Customer and Trade Names Intangible Assets</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tyl_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2(a),(d))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfRevenueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfRevenueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1337-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=117327953&amp;loc=d3e4984-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1252-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=SL5780133-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=117327953&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1252-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1337-109256<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=68072869&amp;loc=d3e41242-110953<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 20<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=109238882&amp;loc=d3e38679-109324<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Research and development expense during the period related to the costs of developing and achieving technological feasibility of a computer software product to be sold, leased, or otherwise marketed.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=6501960&amp;loc=d3e128462-111756<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130543-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 330<br> -SubTopic 10<br> -Section 30<br> -Paragraph 8<br> -URI http://asc.fasb.org/extlink&amp;oid=68048583&amp;loc=d3e3636-108311<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=tyl_SoftwareLicensesandRoyaltiesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=tyl_SoftwareLicensesandRoyaltiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_SubscriptionAndCirculationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_SubscriptionAndCirculationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=tyl_AcquiredSoftwareMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=tyl_AcquiredSoftwareMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_TechnologyServiceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_TechnologyServiceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=tyl_SoftwareServicesMaintenanceandSubscriptionsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=tyl_SoftwareServicesMaintenanceandSubscriptionsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_MaintenanceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_MaintenanceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=tyl_AppraisalServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=tyl_AppraisalServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=tyl_HardwareandOtherMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=tyl_HardwareandOtherMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6799289440">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Commitments and Contingencies (Detail)<br></strong></div></th>
<th class="th">
<div>Mar. 31, 2020 </div>
<div>LegalMatter</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_NumberOfLegalProceedingsThatHaveMaterialEffect', window );">Number of material legal proceedings pending</a></td>
<td class="nump">0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tyl_NumberOfLegalProceedingsThatHaveMaterialEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of legal proceedings that have material effect.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tyl_NumberOfLegalProceedingsThatHaveMaterialEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tyl_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6823633168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Disaggregation of Revenue (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">$ 276,541<span></span>
</td>
<td class="nump">$ 247,066<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segments | Enterprise Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">250,177<span></span>
</td>
<td class="nump">221,035<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segments | Appraisal&#160;and&#160;Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">30,381<span></span>
</td>
<td class="nump">29,587<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember', window );">Intercompany</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="num">(4,019)<span></span>
</td>
<td class="num">(3,553)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember', window );">Intercompany | Enterprise Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">4,001<span></span>
</td>
<td class="nump">3,484<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember', window );">Intercompany | Appraisal&#160;and&#160;Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">18<span></span>
</td>
<td class="nump">69<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember', window );">Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="num">(4,017)<span></span>
</td>
<td class="num">(3,556)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=tyl_CorporateAndEliminationsMember', window );">Corporate and Elimination</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="num">(4,017)<span></span>
</td>
<td class="num">(3,556)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=tyl_RecurringRevenueMember', window );">Recurring revenues</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">196,088<span></span>
</td>
<td class="nump">167,427<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=tyl_RecurringRevenueMember', window );">Recurring revenues | Enterprise Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">181,485<span></span>
</td>
<td class="nump">154,443<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=tyl_RecurringRevenueMember', window );">Recurring revenues | Appraisal&#160;and&#160;Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">14,603<span></span>
</td>
<td class="nump">12,984<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=tyl_RecurringRevenueMember', window );">Recurring revenues | Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=tyl_NonrecurringRevenueMember', window );">Non-recurring revenues</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">80,453<span></span>
</td>
<td class="nump">79,639<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=tyl_NonrecurringRevenueMember', window );">Non-recurring revenues | Enterprise Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">64,691<span></span>
</td>
<td class="nump">63,108<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=tyl_NonrecurringRevenueMember', window );">Non-recurring revenues | Appraisal&#160;and&#160;Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">15,760<span></span>
</td>
<td class="nump">16,534<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_MajorCustomersAxis=tyl_NonrecurringRevenueMember', window );">Non-recurring revenues | Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">2<span></span>
</td>
<td class="num">(3)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_LicenseMember', window );">Software licenses and royalties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">18,737<span></span>
</td>
<td class="nump">21,793<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_LicenseMember', window );">Software licenses and royalties | Enterprise Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">15,951<span></span>
</td>
<td class="nump">18,522<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_LicenseMember', window );">Software licenses and royalties | Appraisal&#160;and&#160;Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">2,786<span></span>
</td>
<td class="nump">3,271<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_LicenseMember', window );">Software licenses and royalties | Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_SubscriptionAndCirculationMember', window );">Subscriptions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">81,723<span></span>
</td>
<td class="nump">67,275<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_SubscriptionAndCirculationMember', window );">Subscriptions | Enterprise Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">76,644<span></span>
</td>
<td class="nump">63,255<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_SubscriptionAndCirculationMember', window );">Subscriptions | Appraisal&#160;and&#160;Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">5,079<span></span>
</td>
<td class="nump">4,020<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_SubscriptionAndCirculationMember', window );">Subscriptions | Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_TechnologyServiceMember', window );">Software services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">52,133<span></span>
</td>
<td class="nump">48,443<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_TechnologyServiceMember', window );">Software services | Enterprise Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">44,949<span></span>
</td>
<td class="nump">40,456<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_TechnologyServiceMember', window );">Software services | Appraisal&#160;and&#160;Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">7,184<span></span>
</td>
<td class="nump">7,987<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_TechnologyServiceMember', window );">Software services | Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_MaintenanceMember', window );">Maintenance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">114,365<span></span>
</td>
<td class="nump">100,152<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_MaintenanceMember', window );">Maintenance | Enterprise Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">104,841<span></span>
</td>
<td class="nump">91,188<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_MaintenanceMember', window );">Maintenance | Appraisal&#160;and&#160;Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">9,524<span></span>
</td>
<td class="nump">8,964<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_MaintenanceMember', window );">Maintenance | Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tyl_AppraisalServicesMember', window );">Appraisal services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">5,763<span></span>
</td>
<td class="nump">5,214<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tyl_AppraisalServicesMember', window );">Appraisal services | Enterprise Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tyl_AppraisalServicesMember', window );">Appraisal services | Appraisal&#160;and&#160;Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">5,763<span></span>
</td>
<td class="nump">5,214<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tyl_AppraisalServicesMember', window );">Appraisal services | Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Hardware and other</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">3,820<span></span>
</td>
<td class="nump">4,189<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Hardware and other | Enterprise Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">3,791<span></span>
</td>
<td class="nump">4,130<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Hardware and other | Appraisal&#160;and&#160;Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">27<span></span>
</td>
<td class="nump">62<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Hardware and other | Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">2<span></span>
</td>
<td class="num">(3)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Products and services transferred at a point in time</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">19,886<span></span>
</td>
<td class="nump">21,099<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Products and services transferred at a point in time | Software licenses and royalties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">16,066<span></span>
</td>
<td class="nump">16,910<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Products and services transferred at a point in time | Subscriptions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Products and services transferred at a point in time | Software services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Products and services transferred at a point in time | Maintenance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Products and services transferred at a point in time | Appraisal services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Products and services transferred at a point in time | Hardware and other</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">3,820<span></span>
</td>
<td class="nump">4,189<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Products and services transferred over time</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">256,655<span></span>
</td>
<td class="nump">225,967<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Products and services transferred over time | Software licenses and royalties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">2,671<span></span>
</td>
<td class="nump">4,883<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Products and services transferred over time | Subscriptions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">81,723<span></span>
</td>
<td class="nump">67,275<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Products and services transferred over time | Software services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">52,133<span></span>
</td>
<td class="nump">48,443<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Products and services transferred over time | Maintenance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">114,365<span></span>
</td>
<td class="nump">100,152<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Products and services transferred over time | Appraisal services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">5,763<span></span>
</td>
<td class="nump">5,214<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Products and services transferred over time | Hardware and other</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation of Revenue</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130543-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=tyl_EnterpriseSoftwareMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=tyl_EnterpriseSoftwareMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=tyl_AppraisalAndTaxMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=tyl_AppraisalAndTaxMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=tyl_CorporateAndEliminationsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=tyl_CorporateAndEliminationsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=tyl_RecurringRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=tyl_RecurringRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=tyl_NonrecurringRevenueMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=tyl_NonrecurringRevenueMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_LicenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_LicenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_SubscriptionAndCirculationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_SubscriptionAndCirculationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_TechnologyServiceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_TechnologyServiceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_MaintenanceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_MaintenanceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=tyl_AppraisalServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=tyl_AppraisalServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6800754000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Tax Provision (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective income tax rates (percent)</a></td>
<td class="num">(36.30%)<span></span>
</td>
<td class="nump">22.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount', window );">Excess tax benefit</a></td>
<td class="nump">$ 22,100<span></span>
</td>
<td class="nump">$ 1,700<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes', window );">Effective income tax rate excluding excess tax benefit (percent)</a></td>
<td class="nump">27.00%<span></span>
</td>
<td class="nump">26.80%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaid', window );">Income tax payments</a></td>
<td class="nump">$ 176<span></span>
</td>
<td class="nump">$ 88<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08.(h)(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=26873400&amp;loc=d3e23780-122690<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 740<br> -Section 35<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117330312&amp;loc=d3e23163-113944<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32698-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I)<br> -URI http://asc.fasb.org/extlink&amp;oid=116825942&amp;loc=d3e330036-122817<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 12<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32687-109319<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=98513485&amp;loc=d3e4297-108586<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3536-108585<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6902456400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Deferred Revenue and Performance Obligations (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Changes in deferred revenue</a></td>
<td class="text"><div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Total deferred revenue, including long-term, by segment is as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:75.877%;"><tr><td style="width:1.0%;"/><td style="width:48.674%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.763%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:21.699%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.763%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:21.701%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise Software</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">333,314&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">375,838&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">31,205&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">35,487&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,607&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,369&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">366,126&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">412,694&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Changes in total deferred revenue, including long-term, were as follows:</span></div><div><span><br/></span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:76.754%;"><tr><td style="width:1.0%;"/><td style="width:73.238%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.133%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:21.429%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three months ended March 31, 2020</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of December 31, 2019</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">412,694&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Deferral of revenue</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">198,324&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Recognition of deferred revenue</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(244,892)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of March 31, 2020</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">366,126&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of contract balances and changes in contract balances.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130551-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6799355184">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Shareholders' Equity - Additional Information (Detail)<br> shares in Millions</strong></div></th>
<th class="th">
<div>Mar. 31, 2020 </div>
<div>shares</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased', window );">Number of shares authorized to be repurchased (in shares)</a></td>
<td class="nump">2.6<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares authorized to be repurchased by an entity's Board of Directors under a stock repurchase plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>54
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "instance": {
  "tyl-20200331.htm": {
   "axisCustom": 1,
   "axisStandard": 18,
   "contextCount": 189,
   "dts": {
    "calculationLink": {
     "local": [
      "tyl-20200331_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "tyl-20200331_def.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-eedm-def-2019-01-31.xml",
      "http://xbrl.fasb.org/srt/2019/elts/srt-eedm1-def-2019-01-31.xml"
     ]
    },
    "inline": {
     "local": [
      "tyl-20200331.htm"
     ]
    },
    "labelLink": {
     "local": [
      "tyl-20200331_lab.xml"
     ],
     "remote": [
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-doc-2019-01-31.xml",
      "https://xbrl.sec.gov/dei/2019/dei-doc-2019-01-31.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "tyl-20200331_pre.xml"
     ]
    },
    "referenceLink": {
     "remote": [
      "https://xbrl.sec.gov/dei/2019/dei-ref-2019-01-31.xml",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-ref-2019-01-31.xml"
     ]
    },
    "schema": {
     "local": [
      "tyl-20200331.xsd"
     ],
     "remote": [
      "http://xbrl.fasb.org/srt/2019/elts/srt-2019-01-31.xsd",
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd",
      "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://xbrl.fasb.org/srt/2019/elts/srt-types-2019-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-gaap-2019-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-roles-2019-01-31.xsd",
      "http://xbrl.fasb.org/srt/2019/elts/srt-roles-2019-01-31.xsd",
      "https://xbrl.sec.gov/country/2017/country-2017-01-31.xsd",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-types-2019-01-31.xsd",
      "https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "http://xbrl.fasb.org/us-gaap/2019/elts/us-parts-codification-2019-01-31.xsd"
     ]
    }
   },
   "elementCount": 363,
   "entityCount": 1,
   "hidden": {
    "http://www.tylertech.com/20200331": 3,
    "http://xbrl.sec.gov/dei/2019-01-31": 5,
    "total": 8
   },
   "keyCustom": 14,
   "keyStandard": 274,
   "memberCustom": 18,
   "memberStandard": 25,
   "nsprefix": "tyl",
   "nsuri": "http://www.tylertech.com/20200331",
   "report": {
    "R1": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "true",
     "longName": "1001001 - Statement - Cover",
     "role": "http://www.tylertech.com/role/Cover",
     "shortName": "Cover",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "dei:DocumentType",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R10": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2107104 - Disclosure - Shareholders' Equity",
     "role": "http://www.tylertech.com/role/ShareholdersEquity",
     "shortName": "Shareholders' Equity",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R11": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2111105 - Disclosure - Deferred Commissions",
     "role": "http://www.tylertech.com/role/DeferredCommissions",
     "shortName": "Deferred Commissions",
     "subGroupType": "",
     "uniqueAnchor": null
    },
    "R12": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OtherAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2113106 - Disclosure - Other Assets",
     "role": "http://www.tylertech.com/role/OtherAssets",
     "shortName": "Other Assets",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OtherAssetsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R13": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2115107 - Disclosure - Revolving Line of Credit",
     "role": "http://www.tylertech.com/role/RevolvingLineofCredit",
     "shortName": "Revolving Line of Credit",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R14": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2117108 - Disclosure - Income Tax Provision",
     "role": "http://www.tylertech.com/role/IncomeTaxProvision",
     "shortName": "Income Tax Provision",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R15": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2119109 - Disclosure - Earnings Per Share",
     "role": "http://www.tylertech.com/role/EarningsPerShare",
     "shortName": "Earnings Per Share",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R16": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2123110 - Disclosure - Leases",
     "role": "http://www.tylertech.com/role/Leases",
     "shortName": "Leases",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R17": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2131111 - Disclosure - Share-Based Compensation",
     "role": "http://www.tylertech.com/role/ShareBasedCompensation",
     "shortName": "Share-Based Compensation",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R18": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2134112 - Disclosure - Segment and Related Information",
     "role": "http://www.tylertech.com/role/SegmentandRelatedInformation",
     "shortName": "Segment and Related Information",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R19": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2139113 - Disclosure - Disaggregation of Revenue",
     "role": "http://www.tylertech.com/role/DisaggregationofRevenue",
     "shortName": "Disaggregation of Revenue",
     "subGroupType": "",
     "uniqueAnchor": null
    },
    "R2": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1002002 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME",
     "role": "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF INCOME",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R20": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "reportCount": 1,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2143114 - Disclosure - Deferred Revenue and Performance Obligations",
     "role": "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligations",
     "shortName": "Deferred Revenue and Performance Obligations",
     "subGroupType": "",
     "uniqueAnchor": null
    },
    "R21": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2147115 - Disclosure - Commitments and Contingencies",
     "role": "http://www.tylertech.com/role/CommitmentsandContingencies",
     "shortName": "Commitments and Contingencies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R22": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2149116 - Disclosure - Subsequent Events",
     "role": "http://www.tylertech.com/role/SubsequentEvents",
     "shortName": "Subsequent Events",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R23": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:UseOfEstimates",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2203201 - Disclosure - Accounting Standards and Significant Accounting Policies (Policies)",
     "role": "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesPolicies",
     "shortName": "Accounting Standards and Significant Accounting Policies (Policies)",
     "subGroupType": "policies",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:UseOfEstimates",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R24": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfStockholdersEquityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2308301 - Disclosure - Shareholders' Equity (Tables)",
     "role": "http://www.tylertech.com/role/ShareholdersEquityTables",
     "shortName": "Shareholders' Equity (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfStockholdersEquityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R25": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2320302 - Disclosure - Earnings Per Share (Tables)",
     "role": "http://www.tylertech.com/role/EarningsPerShareTables",
     "shortName": "Earnings Per Share (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R26": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2324303 - Disclosure - Leases (Tables)",
     "role": "http://www.tylertech.com/role/LeasesTables",
     "shortName": "Leases (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LeaseCostTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R27": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2332304 - Disclosure - Share-Based Compensation (Tables)",
     "role": "http://www.tylertech.com/role/ShareBasedCompensationTables",
     "shortName": "Share-Based Compensation (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R28": {
     "firstAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2335305 - Disclosure - Segment and Related Information (Tables)",
     "role": "http://www.tylertech.com/role/SegmentandRelatedInformationTables",
     "shortName": "Segment and Related Information (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R29": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2340306 - Disclosure - Disaggregation of Revenue (Tables)",
     "role": "http://www.tylertech.com/role/DisaggregationofRevenueTables",
     "shortName": "Disaggregation of Revenue (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R3": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1003003 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS",
     "role": "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R30": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2344307 - Disclosure - Deferred Revenue and Performance Obligations (Tables)",
     "role": "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsTables",
     "shortName": "Deferred Revenue and Performance Obligations (Tables)",
     "subGroupType": "tables",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R31": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "tyl:RecurringRevenuePercentageOfTotalRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2404401 - Disclosure - Accounting Standards and Significant Accounting Policies - Additional Information (Details)",
     "role": "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails",
     "shortName": "Accounting Standards and Significant Accounting Policies - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "2",
      "first": true,
      "lang": null,
      "name": "tyl:RecurringRevenuePercentageOfTotalRevenue",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R32": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2406402 - Disclosure - Acquisitions - Narrative (Details)",
     "role": "http://www.tylertech.com/role/AcquisitionsNarrativeDetails",
     "shortName": "Acquisitions - Narrative (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i406c48b63868432e99620710e3da2ecf_D20200228-20200228",
      "decimals": "-5",
      "lang": null,
      "name": "us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R33": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:TreasuryStockValueAcquiredCostMethod",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2409403 - Disclosure - Shareholders' Equity - Summary of Activities in Common Stock (Detail)",
     "role": "http://www.tylertech.com/role/ShareholdersEquitySummaryofActivitiesinCommonStockDetail",
     "shortName": "Shareholders' Equity - Summary of Activities in Common Stock (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfStockholdersEquityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R34": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2410404 - Disclosure - Shareholders' Equity - Additional Information (Detail)",
     "role": "http://www.tylertech.com/role/ShareholdersEquityAdditionalInformationDetail",
     "shortName": "Shareholders' Equity - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R35": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:CapitalizedContractCostNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2412405 - Disclosure - Deferred Commissions (Details)",
     "role": "http://www.tylertech.com/role/DeferredCommissionsDetails",
     "shortName": "Deferred Commissions (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:CapitalizedContractCostNet",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R36": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:PaymentsToAcquireHeldToMaturitySecurities",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2414406 - Disclosure - Other Assets (Detail)",
     "role": "http://www.tylertech.com/role/OtherAssetsDetail",
     "shortName": "Other Assets (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-5",
      "first": true,
      "lang": null,
      "name": "us-gaap:PaymentsToAcquireHeldToMaturitySecurities",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R37": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LongTermLineOfCredit",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2416407 - Disclosure - Revolving Line of Credit (Detail)",
     "role": "http://www.tylertech.com/role/RevolvingLineofCreditDetail",
     "shortName": "Revolving Line of Credit (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "id6bb299c77214e989cc38d69596aff0e_I20190930",
      "decimals": "INF",
      "lang": null,
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R38": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2418408 - Disclosure - Income Tax Provision (Detail)",
     "role": "http://www.tylertech.com/role/IncomeTaxProvisionDetail",
     "shortName": "Income Tax Provision (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "3",
      "first": true,
      "lang": null,
      "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations",
      "reportCount": 1,
      "unique": true,
      "unitRef": "number",
      "xsiNil": "false"
     }
    },
    "R39": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2421409 - Disclosure - Earnings Per Share - Computation of Basic Earnings and Diluted Earnings Per Share Data (Detail)",
     "role": "http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail",
     "shortName": "Earnings Per Share - Computation of Basic Earnings and Diluted Earnings Per Share Data (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R4": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1004004 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "role": "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "subGroupType": "parenthetical",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R40": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2422410 - Disclosure - Earnings Per Share - Additional Information (Detail)",
     "role": "http://www.tylertech.com/role/EarningsPerShareAdditionalInformationDetail",
     "shortName": "Earnings Per Share - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "reportCount": 1,
      "unique": true,
      "unitRef": "shares",
      "xsiNil": "false"
     }
    },
    "R41": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseRenewalTerm",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2425411 - Disclosure - Leases - Additional Information (Details)",
     "role": "http://www.tylertech.com/role/LeasesAdditionalInformationDetails",
     "shortName": "Leases - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:LesseeOperatingLeaseRenewalTerm",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R42": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LeaseCostTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2426412 - Disclosure - Leases - Schedule of lease cost (Details)",
     "role": "http://www.tylertech.com/role/LeasesScheduleofleasecostDetails",
     "shortName": "Leases - Schedule of lease cost (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LeaseCostTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseCost",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R43": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "tyl:ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2427413 - Disclosure - Leases - Schedule of leases assets and liabilities (Details)",
     "role": "http://www.tylertech.com/role/LeasesScheduleofleasesassetsandliabilitiesDetails",
     "shortName": "Leases - Schedule of leases assets and liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": null
    },
    "R44": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "tyl:ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeasePayments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2428414 - Disclosure - Leases - Schedule of other information related to leases (Details)",
     "role": "http://www.tylertech.com/role/LeasesScheduleofotherinformationrelatedtoleasesDetails",
     "shortName": "Leases - Schedule of other information related to leases (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "tyl:ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingLeasePayments",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R45": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2429415 - Disclosure - Leases - Maturity of lease liabilities (Details)",
     "role": "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails",
     "shortName": "Leases - Maturity of lease liabilities (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R46": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "ic34cb5da26534e7e83310f5e76c3166f_I20191231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2430416 - Disclosure - Leases - Schedule of future minimum operating rental income (Details)",
     "role": "http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails",
     "shortName": "Leases - Schedule of future minimum operating rental income (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "ic34cb5da26534e7e83310f5e76c3166f_I20191231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R47": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2433417 - Disclosure - Share-Based Compensation (Detail)",
     "role": "http://www.tylertech.com/role/ShareBasedCompensationDetail",
     "shortName": "Share-Based Compensation (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R48": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "tyl:NumberOfBusinessUnits",
      "reportCount": 1,
      "unique": true,
      "unitRef": "business_unit",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2436418 - Disclosure - Segment and Related Information - Additional Information (Detail)",
     "role": "http://www.tylertech.com/role/SegmentandRelatedInformationAdditionalInformationDetail",
     "shortName": "Segment and Related Information - Additional Information (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "tyl:NumberOfBusinessUnits",
      "reportCount": 1,
      "unique": true,
      "unitRef": "business_unit",
      "xsiNil": "false"
     }
    },
    "R49": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2437419 - Disclosure - Segment and Related Information - Schedule of Segment Revenues and Operations (Detail)",
     "role": "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail",
     "shortName": "Segment and Related Information - Schedule of Segment Revenues and Operations (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i944d80f733af47e19c5d70f7de91add8_D20200101-20200331",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OperatingIncomeLoss",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R5": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:NetIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1005005 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "role": "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:DepreciationDepletionAndAmortization",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R50": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:OperatingIncomeLoss",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2438420 - Disclosure - Segment and Related Information - Reconciliation of Operating Income from Segments to Consolidated (Detail)",
     "role": "http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail",
     "shortName": "Segment and Related Information - Reconciliation of Operating Income from Segments to Consolidated (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i5f3a34d3ef0543119430a070809fa972_D20200101-20200331",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:OtherNonoperatingIncomeExpense",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R51": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2441421 - Disclosure - Disaggregation of Revenue (Details)",
     "role": "http://www.tylertech.com/role/DisaggregationofRevenueDetails",
     "shortName": "Disaggregation of Revenue (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "ix:continuation",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "ic472cdd08b174bd0a334358c7a78f7fc_D20200101-20200331",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R52": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "iddae0efff8774178a4dbab5c433849a1_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "tyl:RevenueFromContractWithCustomerContractTerm",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2442422 - Disclosure - Disaggregation of Revenue - Additional Information (Details)",
     "role": "http://www.tylertech.com/role/DisaggregationofRevenueAdditionalInformationDetails",
     "shortName": "Disaggregation of Revenue - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "iddae0efff8774178a4dbab5c433849a1_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "tyl:RevenueFromContractWithCustomerContractTerm",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R53": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:ContractWithCustomerLiability",
      "reportCount": 1,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2445423 - Disclosure - Deferred Revenue and Performance Obligations - Deferred Revenue (Details)",
     "role": "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails",
     "shortName": "Deferred Revenue and Performance Obligations - Deferred Revenue (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "ic34cb5da26534e7e83310f5e76c3166f_I20191231",
      "decimals": "-3",
      "lang": null,
      "name": "us-gaap:ContractWithCustomerLiability",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R54": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "-8",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2446424 - Disclosure - Deferred Revenue and Performance Obligations - Additional Information (Details)",
     "role": "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails",
     "shortName": "Deferred Revenue and Performance Obligations - Additional Information (Details)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "-8",
      "first": true,
      "lang": null,
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R55": {
     "firstAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "tyl:NumberOfLegalProceedingsThatHaveMaterialEffect",
      "reportCount": 1,
      "unique": true,
      "unitRef": "legalmatter",
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2448425 - Disclosure - Commitments and Contingencies (Detail)",
     "role": "http://www.tylertech.com/role/CommitmentsandContingenciesDetail",
     "shortName": "Commitments and Contingencies (Detail)",
     "subGroupType": "details",
     "uniqueAnchor": {
      "ancestors": [
       "ix:continuation",
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3a034c88ef4f4a1b9bf7055967030885_I20200331",
      "decimals": "INF",
      "first": true,
      "lang": null,
      "name": "tyl:NumberOfLegalProceedingsThatHaveMaterialEffect",
      "reportCount": 1,
      "unique": true,
      "unitRef": "legalmatter",
      "xsiNil": "false"
     }
    },
    "R6": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "if0aa42e674be4ee2b3de1fc28e9907d9_I20181231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     },
     "groupType": "statement",
     "isDefault": "false",
     "longName": "1006006 - Statement - CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY",
     "role": "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY",
     "shortName": "CONSOLIDATED STATEMENTS OF SHAREHOLDERS' EQUITY",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "if0aa42e674be4ee2b3de1fc28e9907d9_I20181231",
      "decimals": "-3",
      "first": true,
      "lang": null,
      "name": "us-gaap:StockholdersEquity",
      "reportCount": 1,
      "unique": true,
      "unitRef": "usd",
      "xsiNil": "false"
     }
    },
    "R7": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2101101 - Disclosure - Basis of Presentation",
     "role": "http://www.tylertech.com/role/BasisofPresentation",
     "shortName": "Basis of Presentation",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R8": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2102102 - Disclosure - Accounting Standards and Significant Accounting Policies",
     "role": "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPolicies",
     "shortName": "Accounting Standards and Significant Accounting Policies",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    },
    "R9": {
     "firstAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     },
     "groupType": "disclosure",
     "isDefault": "false",
     "longName": "2105103 - Disclosure - Acquisitions",
     "role": "http://www.tylertech.com/role/Acquisitions",
     "shortName": "Acquisitions",
     "subGroupType": "",
     "uniqueAnchor": {
      "ancestors": [
       "span",
       "div",
       "body",
       "html"
      ],
      "baseRef": "tyl-20200331.htm",
      "contextRef": "i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331",
      "decimals": null,
      "first": true,
      "lang": "en-US",
      "name": "us-gaap:BusinessCombinationDisclosureTextBlock",
      "reportCount": 1,
      "unique": true,
      "unitRef": null,
      "xsiNil": "false"
     }
    }
   },
   "segmentCount": 44,
   "tag": {
    "dei_AmendmentFlag": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.",
        "label": "Amendment Flag",
        "terseLabel": "Amendment Flag"
       }
      }
     },
     "localname": "AmendmentFlag",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_CityAreaCode": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Area code of city",
        "label": "City Area Code",
        "terseLabel": "City Area Code"
       }
      }
     },
     "localname": "CityAreaCode",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_CoverAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Cover page.",
        "label": "Cover [Abstract]",
        "terseLabel": "Cover page."
       }
      }
     },
     "localname": "CoverAbstract",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "dei_CurrentFiscalYearEndDate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "End date of current fiscal year in the format --MM-DD.",
        "label": "Current Fiscal Year End Date",
        "terseLabel": "Current Fiscal Year End Date"
       }
      }
     },
     "localname": "CurrentFiscalYearEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "gMonthDayItemType"
    },
    "dei_DocumentFiscalPeriodFocus": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.",
        "label": "Document Fiscal Period Focus",
        "terseLabel": "Document Fiscal Period Focus"
       }
      }
     },
     "localname": "DocumentFiscalPeriodFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "fiscalPeriodItemType"
    },
    "dei_DocumentFiscalYearFocus": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "This is focus fiscal year of the document report in CCYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.",
        "label": "Document Fiscal Year Focus",
        "terseLabel": "Document Fiscal Year Focus"
       }
      }
     },
     "localname": "DocumentFiscalYearFocus",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "gYearItemType"
    },
    "dei_DocumentPeriodEndDate": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented.  If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.",
        "label": "Document Period End Date",
        "terseLabel": "Document Period End Date"
       }
      }
     },
     "localname": "DocumentPeriodEndDate",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "dateItemType"
    },
    "dei_DocumentQuarterlyReport": {
     "auth_ref": [
      "r259"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as an quarterly report.",
        "label": "Document Quarterly Report",
        "terseLabel": "Document Quarterly Report"
       }
      }
     },
     "localname": "DocumentQuarterlyReport",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentTransitionReport": {
     "auth_ref": [
      "r260"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true only for a form used as a transition report.",
        "label": "Document Transition Report",
        "terseLabel": "Document Transition Report"
       }
      }
     },
     "localname": "DocumentTransitionReport",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_DocumentType": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.",
        "label": "Document Type",
        "terseLabel": "Document Type"
       }
      }
     },
     "localname": "DocumentType",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "submissionTypeItemType"
    },
    "dei_EntityAddressAddressLine1": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name",
        "label": "Entity Address, Address Line One",
        "terseLabel": "Entity Address, Address Line One"
       }
      }
     },
     "localname": "EntityAddressAddressLine1",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressCityOrTown": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the City or Town",
        "label": "Entity Address, City or Town",
        "terseLabel": "Entity Address, City or Town"
       }
      }
     },
     "localname": "EntityAddressCityOrTown",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressPostalZipCode": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Code for the postal or zip code",
        "label": "Entity Address, Postal Zip Code",
        "terseLabel": "Entity Address, Postal Zip Code"
       }
      }
     },
     "localname": "EntityAddressPostalZipCode",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityAddressStateOrProvince": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the state or province.",
        "label": "Entity Address, State or Province",
        "terseLabel": "Entity Address, State or Province"
       }
      }
     },
     "localname": "EntityAddressStateOrProvince",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "stateOrProvinceItemType"
    },
    "dei_EntityCentralIndexKey": {
     "auth_ref": [
      "r261"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.",
        "label": "Entity Central Index Key",
        "terseLabel": "Entity Central Index Key"
       }
      }
     },
     "localname": "EntityCentralIndexKey",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "centralIndexKeyItemType"
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.",
        "label": "Entity Common Stock, Shares Outstanding",
        "terseLabel": "Entity Common Stock, Shares Outstanding"
       }
      }
     },
     "localname": "EntityCommonStockSharesOutstanding",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "sharesItemType"
    },
    "dei_EntityCurrentReportingStatus": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Current Reporting Status",
        "terseLabel": "Entity Current Reporting Status"
       }
      }
     },
     "localname": "EntityCurrentReportingStatus",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityEmergingGrowthCompany": {
     "auth_ref": [
      "r261"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate if registrant meets the emerging growth company criteria.",
        "label": "Entity Emerging Growth Company",
        "terseLabel": "Entity Emerging Growth Company"
       }
      }
     },
     "localname": "EntityEmergingGrowthCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityFileNumber": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.",
        "label": "Entity File Number",
        "terseLabel": "Entity File Number"
       }
      }
     },
     "localname": "EntityFileNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "fileNumberItemType"
    },
    "dei_EntityFilerCategory": {
     "auth_ref": [
      "r261"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.",
        "label": "Entity Filer Category",
        "terseLabel": "Entity Filer Category"
       }
      }
     },
     "localname": "EntityFilerCategory",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "filerCategoryItemType"
    },
    "dei_EntityIncorporationStateCountryCode": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Two-character EDGAR code representing the state or country of incorporation.",
        "label": "Entity Incorporation, State or Country Code",
        "terseLabel": "Entity Incorporation, State or Country Code"
       }
      }
     },
     "localname": "EntityIncorporationStateCountryCode",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "edgarStateCountryItemType"
    },
    "dei_EntityInteractiveDataCurrent": {
     "auth_ref": [
      "r262"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).",
        "label": "Entity Interactive Data Current",
        "terseLabel": "Entity Interactive Data Current"
       }
      }
     },
     "localname": "EntityInteractiveDataCurrent",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "yesNoItemType"
    },
    "dei_EntityRegistrantName": {
     "auth_ref": [
      "r261"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.",
        "label": "Entity Registrant Name",
        "terseLabel": "Entity Registrant Name"
       }
      }
     },
     "localname": "EntityRegistrantName",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_EntityShellCompany": {
     "auth_ref": [
      "r261"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.",
        "label": "Entity Shell Company",
        "terseLabel": "Entity Shell Company"
       }
      }
     },
     "localname": "EntityShellCompany",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntitySmallBusiness": {
     "auth_ref": [
      "r261"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).",
        "label": "Entity Small Business",
        "terseLabel": "Entity Small Business"
       }
      }
     },
     "localname": "EntitySmallBusiness",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "booleanItemType"
    },
    "dei_EntityTaxIdentificationNumber": {
     "auth_ref": [
      "r261"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.",
        "label": "Entity Tax Identification Number",
        "terseLabel": "Entity Tax Identification Number"
       }
      }
     },
     "localname": "EntityTaxIdentificationNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "employerIdItemType"
    },
    "dei_LocalPhoneNumber": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Local phone number for entity.",
        "label": "Local Phone Number",
        "terseLabel": "Local Phone Number"
       }
      }
     },
     "localname": "LocalPhoneNumber",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "normalizedStringItemType"
    },
    "dei_Security12bTitle": {
     "auth_ref": [
      "r257"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Title of a 12(b) registered security.",
        "label": "Title of 12(b) Security",
        "terseLabel": "Title of 12(b) Security"
       }
      }
     },
     "localname": "Security12bTitle",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "securityTitleItemType"
    },
    "dei_SecurityExchangeName": {
     "auth_ref": [
      "r258"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Name of the Exchange on which a security is registered.",
        "label": "Security Exchange Name",
        "terseLabel": "Security Exchange Name"
       }
      }
     },
     "localname": "SecurityExchangeName",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "edgarExchangeCodeItemType"
    },
    "dei_TradingSymbol": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Trading symbol of an instrument as listed on an exchange.",
        "label": "Trading Symbol",
        "terseLabel": "Trading Symbol"
       }
      }
     },
     "localname": "TradingSymbol",
     "nsuri": "http://xbrl.sec.gov/dei/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Cover"
     ],
     "xbrltype": "tradingSymbolItemType"
    },
    "srt_ConsolidationItemsAxis": {
     "auth_ref": [
      "r106",
      "r114"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Consolidation Items [Axis]",
        "terseLabel": "Consolidation Items"
       }
      }
     },
     "localname": "ConsolidationItemsAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails",
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails",
      "http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ConsolidationItemsDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Consolidation Items [Domain]",
        "verboseLabel": "Consolidation Items [Domain]"
       }
      }
     },
     "localname": "ConsolidationItemsDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails",
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails",
      "http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_EquityMethodInvesteeNameDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Investment, Name [Domain]",
        "terseLabel": "Investment, Name [Domain]"
       }
      }
     },
     "localname": "EquityMethodInvesteeNameDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/OtherAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MajorCustomersAxis": {
     "auth_ref": [
      "r117",
      "r169",
      "r173",
      "r255"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Customer [Axis]",
        "terseLabel": "Customer [Axis]"
       }
      }
     },
     "localname": "MajorCustomersAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_MaximumMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Maximum [Member]",
        "terseLabel": "Maximum"
       }
      }
     },
     "localname": "MaximumMember",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredCommissionsDetails",
      "http://www.tylertech.com/role/DisaggregationofRevenueAdditionalInformationDetails",
      "http://www.tylertech.com/role/LeasesAdditionalInformationDetails",
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_MinimumMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Minimum [Member]",
        "terseLabel": "Minimum"
       }
      }
     },
     "localname": "MinimumMember",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredCommissionsDetails",
      "http://www.tylertech.com/role/DisaggregationofRevenueAdditionalInformationDetails",
      "http://www.tylertech.com/role/LeasesAdditionalInformationDetails",
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_NameOfMajorCustomerDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Customer [Domain]",
        "terseLabel": "Customer [Domain]"
       }
      }
     },
     "localname": "NameOfMajorCustomerDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ProductOrServiceAxis": {
     "auth_ref": [
      "r116",
      "r169",
      "r172",
      "r253",
      "r254"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Product and Service [Axis]",
        "terseLabel": "Product and Service [Axis]"
       }
      }
     },
     "localname": "ProductOrServiceAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_ProductsAndServicesDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Product and Service [Domain]",
        "terseLabel": "Product and Service [Domain]"
       }
      }
     },
     "localname": "ProductsAndServicesDomain",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_RangeAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Statistical Measurement [Axis]",
        "terseLabel": "Statistical Measurement [Axis]"
       }
      }
     },
     "localname": "RangeAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredCommissionsDetails",
      "http://www.tylertech.com/role/DisaggregationofRevenueAdditionalInformationDetails",
      "http://www.tylertech.com/role/LeasesAdditionalInformationDetails",
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "srt_RangeMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Statistical Measurement [Domain]",
        "terseLabel": "Statistical Measurement [Domain]"
       }
      }
     },
     "localname": "RangeMember",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredCommissionsDetails",
      "http://www.tylertech.com/role/DisaggregationofRevenueAdditionalInformationDetails",
      "http://www.tylertech.com/role/LeasesAdditionalInformationDetails",
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis": {
     "auth_ref": [
      "r125"
     ],
     "lang": {
      "en-US": {
       "role": {
        "label": "Investment, Name [Axis]",
        "terseLabel": "Investment, Name [Axis]"
       }
      }
     },
     "localname": "ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis",
     "nsuri": "http://fasb.org/srt/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/OtherAssetsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "tyl_AcquiredSoftwareMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Acquired Software [Member]",
        "label": "Acquired Software [Member]",
        "terseLabel": "Acquired software"
       }
      }
     },
     "localname": "AcquiredSoftwareMember",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tyl_AmortizationOfCustomerAndTradeNamesIntangibleAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 4.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amortization of Customer and Trade Names Intangible Assets",
        "label": "Amortization of Customer and Trade Names Intangible Assets",
        "terseLabel": "Amortization of other intangibles"
       }
      }
     },
     "localname": "AmortizationOfCustomerAndTradeNamesIntangibleAssets",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tyl_AppraisalAndTaxMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Appraisal and tax.",
        "label": "Appraisal And Tax [Member]",
        "terseLabel": "Appraisal\u00a0and\u00a0Tax"
       }
      }
     },
     "localname": "AppraisalAndTaxMember",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails",
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tyl_AppraisalServicesMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Appraisal Services [Member]",
        "label": "Appraisal Services [Member]",
        "terseLabel": "Appraisal services"
       }
      }
     },
     "localname": "AppraisalServicesMember",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tyl_AssumedConversionofDilutiveSecuritiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Assumed Conversion of Dilutive Securities [Abstract]",
        "label": "Assumed Conversion of Dilutive Securities [Abstract]",
        "terseLabel": "Assumed conversion of dilutive securities:"
       }
      }
     },
     "localname": "AssumedConversionofDilutiveSecuritiesAbstract",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "tyl_ContractWithCustomerLiabilityIncreaseFromDeferral": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Contract With Customer, Liability, Increase From Deferral",
        "label": "Contract With Customer, Liability, Increase From Deferral",
        "terseLabel": "Deferral of revenue"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityIncreaseFromDeferral",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tyl_ContractWithCustomerLiabilityRollForward": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Contract With Customer Liability [Roll Forward]",
        "label": "Contract With Customer Liability [Roll Forward]",
        "terseLabel": "Contract With Customer Liability"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRollForward",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "tyl_CorporateAndEliminationsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Corporate And Eliminations [Member]",
        "label": "Corporate And Eliminations [Member]",
        "terseLabel": "Corporate and Elimination"
       }
      }
     },
     "localname": "CorporateAndEliminationsMember",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tyl_CostOfSoftwareServicesMaintenanceAndSubscriptionsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Cost of software services maintenance and subscriptions.",
        "label": "Cost Of Software Services Maintenance And Subscriptions [Member]",
        "terseLabel": "Cost of software services, maintenance and subscriptions"
       }
      }
     },
     "localname": "CostOfSoftwareServicesMaintenanceAndSubscriptionsMember",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/ShareBasedCompensationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tyl_CreditAgreementMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Credit Agreement.",
        "label": "Credit Agreement [Member]",
        "terseLabel": "Credit Agreement"
       }
      }
     },
     "localname": "CreditAgreementMember",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tyl_CumulativeEffectPeriodOfAdoptionAdjustmentMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Cumulative Effect, Period of Adoption, Adjustment",
        "label": "Cumulative Effect, Period of Adoption, Adjustment [Member]",
        "terseLabel": "Cumulative Effect, Period of Adoption, Adjustment"
       }
      }
     },
     "localname": "CumulativeEffectPeriodOfAdoptionAdjustmentMember",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"
     ],
     "xbrltype": "domainItemType"
    },
    "tyl_CumulativeEffectPeriodOfAdoptionAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Cumulative Effect, Period of Adoption",
        "label": "Cumulative Effect, Period of Adoption [Axis]",
        "terseLabel": "Cumulative Effect, Period of Adoption [Axis]"
       }
      }
     },
     "localname": "CumulativeEffectPeriodOfAdoptionAxis",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"
     ],
     "xbrltype": "stringItemType"
    },
    "tyl_CumulativeEffectPeriodOfAdoptionDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Cumulative Effect, Period of Adoption",
        "label": "Cumulative Effect, Period of Adoption [Domain]",
        "terseLabel": "Cumulative Effect, Period of Adoption [Domain]"
       }
      }
     },
     "localname": "CumulativeEffectPeriodOfAdoptionDomain",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"
     ],
     "xbrltype": "domainItemType"
    },
    "tyl_CustomerListsAndTradeNameMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Customer Lists And Trade Name [Member]",
        "label": "Customer Lists And Trade Name [Member]",
        "terseLabel": "Customer and trade name"
       }
      }
     },
     "localname": "CustomerListsAndTradeNameMember",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tyl_DenominatorAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Denominator [Abstract]",
        "label": "Denominator [Abstract]",
        "terseLabel": "Denominator:"
       }
      }
     },
     "localname": "DenominatorAbstract",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "tyl_EnterpriseSoftwareMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Enterprise software.",
        "label": "Enterprise Software [Member]",
        "terseLabel": "Enterprise Software"
       }
      }
     },
     "localname": "EnterpriseSoftwareMember",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails",
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails",
      "http://www.tylertech.com/role/SegmentandRelatedInformationAdditionalInformationDetail",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tyl_HardwareandOtherMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Hardware and Other [Member]",
        "label": "Hardware and Other [Member]",
        "terseLabel": "Hardware and other"
       }
      }
     },
     "localname": "HardwareandOtherMember",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "domainItemType"
    },
    "tyl_IncreaseDecreaseInOperatingLeaseLiabilities": {
     "auth_ref": [],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 11.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Increase (Decrease) In Operating Lease Liabilities",
        "label": "Increase (Decrease) In Operating Lease Liabilities",
        "terseLabel": "Operating lease liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingLeaseLiabilities",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tyl_MPHoldingsParentInc.dbaMicroPactMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "MP Holdings Parent, Inc. dba MicroPact [Member]",
        "label": "MP Holdings Parent, Inc. dba MicroPact [Member]",
        "terseLabel": "MicroPact"
       }
      }
     },
     "localname": "MPHoldingsParentInc.dbaMicroPactMember",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/AcquisitionsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tyl_NonrecurringRevenueMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Non-recurring Revenue [Member]",
        "label": "Non-recurring Revenue [Member]",
        "terseLabel": "Non-recurring revenues"
       }
      }
     },
     "localname": "NonrecurringRevenueMember",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tyl_NumberOfBusinessUnits": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of business units.",
        "label": "Number Of Business Units",
        "terseLabel": "Number of business units"
       }
      }
     },
     "localname": "NumberOfBusinessUnits",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/SegmentandRelatedInformationAdditionalInformationDetail"
     ],
     "xbrltype": "integerItemType"
    },
    "tyl_NumberOfLegalProceedingsThatHaveMaterialEffect": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of legal proceedings that have material effect.",
        "label": "Number Of Legal Proceedings That Have Material Effect",
        "terseLabel": "Number of material legal proceedings pending"
       }
      }
     },
     "localname": "NumberOfLegalProceedingsThatHaveMaterialEffect",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/CommitmentsandContingenciesDetail"
     ],
     "xbrltype": "integerItemType"
    },
    "tyl_NumeratorofBasicandDilutedEarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Numerator of Basic and Diluted Earnings Per Share [Abstract]",
        "label": "Numerator of Basic and Diluted Earnings Per Share [Abstract]",
        "terseLabel": "Numerator for basic and diluted earnings per share:"
       }
      }
     },
     "localname": "NumeratorofBasicandDilutedEarningsPerShareAbstract",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "tyl_OperatingLeaseRightOfUseAssetsNonCash": {
     "auth_ref": [],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 12.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Operating Lease Right Of Use Assets Non Cash",
        "label": "Operating Lease Right Of Use Assets Non Cash",
        "terseLabel": "Operating lease right-of-use assets expense"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAssetsNonCash",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "tyl_OperatingSegmentsAndCorporateNonSegmentMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Operating Segments And Corporate Non Segment [Member]",
        "label": "Operating Segments And Corporate Non Segment [Member]",
        "terseLabel": "Operating segment and corporate non-segment"
       }
      }
     },
     "localname": "OperatingSegmentsAndCorporateNonSegmentMember",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tyl_RecordHoldingsPtyLimitedMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Record Holdings Pty Limited",
        "label": "Record Holdings Pty Limited [Member]",
        "terseLabel": "Record Holdings"
       }
      }
     },
     "localname": "RecordHoldingsPtyLimitedMember",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/OtherAssetsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "tyl_RecurringRevenueMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Recurring Revenue [Member]",
        "label": "Recurring Revenue [Member]",
        "terseLabel": "Recurring revenues"
       }
      }
     },
     "localname": "RecurringRevenueMember",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tyl_RecurringRevenuePercentageOfTotalRevenue": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Recurring Revenue Percentage of Total Revenue",
        "label": "Recurring Revenue Percentage of Total Revenue",
        "terseLabel": "Recurring revenue percentage of total revenue (percent)"
       }
      }
     },
     "localname": "RecurringRevenuePercentageOfTotalRevenue",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "tyl_RetentionReceivableMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Retention Receivable [Member]",
        "label": "Retention Receivable [Member]",
        "terseLabel": "Retention Receivable"
       }
      }
     },
     "localname": "RetentionReceivableMember",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "tyl_RevenueFromContractWithCustomerContractTerm": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Revenue From Contract With Customer, Contract Term",
        "label": "Revenue From Contract With Customer, Contract Term",
        "terseLabel": "Contract term"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerContractTerm",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/DisaggregationofRevenueAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "tyl_RevenueFromContractWithCustomerTypicalContractTerm": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Revenue From Contract With Customer, Typical Contract Term",
        "label": "Revenue From Contract With Customer, Typical Contract Term",
        "terseLabel": "Typical contract term"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTypicalContractTerm",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/DisaggregationofRevenueAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "tyl_SalesCommissionsAmortizationPeriod": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Sales Commissions Amortization Period",
        "label": "Sales Commissions Amortization Period",
        "terseLabel": "Sales commissions amortization period"
       }
      }
     },
     "localname": "SalesCommissionsAmortizationPeriod",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/DeferredCommissionsDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "tyl_ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule Of Leases Assets And Liabilities [Table Text Block]",
        "label": "Schedule Of Leases Assets And Liabilities [Table Text Block]",
        "terseLabel": "Schedule of leases assets and liabilities"
       }
      }
     },
     "localname": "ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "tyl_ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule Of Supplemental Information Related To Leases [Table Text Block]",
        "label": "Schedule Of Supplemental Information Related To Leases [Table Text Block]",
        "terseLabel": "Schedule of supplemental information related to leases"
       }
      }
     },
     "localname": "ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "tyl_ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Share-Based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other than Options, Vested In Period, Net Of Withheld Shares Upon Award Settlement",
        "label": "Share-Based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other than Options, Vested In Period, Net Of Withheld Shares Upon Award Settlement",
        "terseLabel": "Restricted stock units vested, net of withheld shares upon award settlement (in shares)"
       }
      }
     },
     "localname": "ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/ShareholdersEquitySummaryofActivitiesinCommonStockDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "tyl_SoftwareLicensesandRoyaltiesMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Software Licenses and Royalties [Member]",
        "label": "Software Licenses and Royalties [Member]",
        "terseLabel": "Software licenses and royalties"
       }
      }
     },
     "localname": "SoftwareLicensesandRoyaltiesMember",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "domainItemType"
    },
    "tyl_SoftwareServicesMaintenanceandSubscriptionsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Software Services, Maintenance and Subscriptions [Member]",
        "label": "Software Services, Maintenance and Subscriptions [Member]",
        "terseLabel": "Software services, maintenance and subscriptions"
       }
      }
     },
     "localname": "SoftwareServicesMaintenanceandSubscriptionsMember",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "domainItemType"
    },
    "tyl_StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement": {
     "auth_ref": [],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Stock Issued During Period, Value, Restricted Stock Units Vested, Net Of Withheld Shares Upon Award Settlement",
        "label": "Stock Issued During Period, Value, Restricted Stock Units Vested, Net Of Withheld Shares Upon Award Settlement",
        "negatedLabel": "Restricted stock units vested, net of withheld shares upon award settlement"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement",
     "nsuri": "http://www.tylertech.com/20200331",
     "presentation": [
      "http://www.tylertech.com/role/ShareholdersEquitySummaryofActivitiesinCommonStockDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountingPoliciesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Accounting Policies [Abstract]",
        "terseLabel": "Accounting Policies [Abstract]"
       }
      }
     },
     "localname": "AccountingPoliciesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis": {
     "auth_ref": [
      "r37"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of receivable.",
        "label": "Receivable Type [Axis]",
        "terseLabel": "Receivable Type [Axis]"
       }
      }
     },
     "localname": "AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis": {
     "auth_ref": [
      "r37"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by billing status of receivables.",
        "label": "Billing Status, Type [Axis]",
        "terseLabel": "Billing Status, Type [Axis]"
       }
      }
     },
     "localname": "AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AccountsPayableCurrent": {
     "auth_ref": [
      "r26"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accounts Payable, Current",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "AccountsPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNet": {
     "auth_ref": [
      "r16",
      "r243"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business.",
        "label": "Accounts Receivable, after Allowance for Credit Loss",
        "terseLabel": "Accounts receivable, net"
       }
      }
     },
     "localname": "AccountsReceivableNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "auth_ref": [
      "r3",
      "r16",
      "r119",
      "r120",
      "r170"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 2.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "terseLabel": "Accounts receivable (less allowance for losses and sales adjustments of $6,470 in 2020 and $5,738 in 2019)"
       }
      }
     },
     "localname": "AccountsReceivableNetCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccountsReceivableNetNoncurrent": {
     "auth_ref": [
      "r16",
      "r119",
      "r170",
      "r236",
      "r243"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 2.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as noncurrent.",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Noncurrent",
        "terseLabel": "Accounts receivable, long-term"
       }
      }
     },
     "localname": "AccountsReceivableNetNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "auth_ref": [
      "r30"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Accrued Liabilities, Current",
        "terseLabel": "Accrued liabilities"
       }
      }
     },
     "localname": "AccruedLiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "auth_ref": [
      "r41",
      "r42",
      "r43"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 4.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "terseLabel": "Accumulated other comprehensive loss, net of tax"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "auth_ref": [
      "r40",
      "r43",
      "r44",
      "r200"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.",
        "label": "AOCI Attributable to Parent [Member]",
        "terseLabel": "Accumulated Other Comprehensive Income (Loss)"
       }
      }
     },
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "auth_ref": [
      "r17"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 3.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.",
        "label": "Additional Paid in Capital, Common Stock",
        "terseLabel": "Additional paid-in capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.",
        "label": "Additional Paid-in Capital [Member]",
        "terseLabel": "Additional Paid-in Capital"
       }
      }
     },
     "localname": "AdditionalPaidInCapitalMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Decrease for Tax Withholding Obligation",
        "negatedTerseLabel": "Employee taxes paid for withheld shares upon equity award settlement"
       }
      }
     },
     "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "auth_ref": [
      "r176",
      "r177",
      "r184",
      "r185"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.",
        "label": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition",
        "terseLabel": "Stock compensation"
       }
      }
     },
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net income to cash provided by operating activities:"
       }
      }
     },
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "auth_ref": [
      "r177",
      "r181",
      "r183"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.",
        "label": "Share-based Payment Arrangement, Expense",
        "terseLabel": "Share-based compensation expense"
       }
      }
     },
     "localname": "AllocatedShareBasedCompensationExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/ShareBasedCompensationDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivable": {
     "auth_ref": [
      "r121",
      "r127",
      "r128",
      "r129"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable.",
        "label": "Accounts Receivable, Allowance for Credit Loss",
        "terseLabel": "Allowance for losses"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "auth_ref": [
      "r22",
      "r121",
      "r127"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.",
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "terseLabel": "Accounts receivable, allowance for doubtful accounts"
       }
      }
     },
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "auth_ref": [
      "r70",
      "r138",
      "r144"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.",
        "label": "Amortization of Intangible Assets",
        "negatedLabel": "Amortization of intangibles assets"
       }
      }
     },
     "localname": "AmortizationOfIntangibleAssets",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "auth_ref": [
      "r93"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Antidilutive securities excluded from computation of earnings per shares (in shares)"
       }
      }
     },
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/EarningsPerShareAdditionalInformationDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_Assets": {
     "auth_ref": [
      "r109",
      "r229",
      "r245"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets",
        "totalLabel": "Total assets"
       }
      }
     },
     "localname": "Assets",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Assets [Abstract]",
        "terseLabel": "ASSETS",
        "verboseLabel": "Assets:"
       }
      }
     },
     "localname": "AssetsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.tylertech.com/role/LeasesScheduleofleasesassetsandliabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_AssetsCurrent": {
     "auth_ref": [
      "r5",
      "r7",
      "r39"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 1.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.",
        "label": "Assets, Current",
        "totalLabel": "Total current assets"
       }
      }
     },
     "localname": "AssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_AssetsCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Assets, Current [Abstract]",
        "terseLabel": "Current assets:"
       }
      }
     },
     "localname": "AssetsCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.",
        "label": "Business Acquisition, Acquiree [Domain]",
        "terseLabel": "Business Acquisition, Acquiree [Domain]"
       }
      }
     },
     "localname": "BusinessAcquisitionAcquireeDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AcquisitionsNarrativeDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "auth_ref": [
      "r197",
      "r198"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by business combination or series of individually immaterial business combinations.",
        "label": "Business Acquisition [Axis]",
        "terseLabel": "Business Acquisition [Axis]"
       }
      }
     },
     "localname": "BusinessAcquisitionAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AcquisitionsNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Business Acquisition [Line Items]",
        "terseLabel": "Business Acquisition"
       }
      }
     },
     "localname": "BusinessAcquisitionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AcquisitionsNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "auth_ref": [
      "r199"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).",
        "label": "Business Combination Disclosure [Text Block]",
        "terseLabel": "Acquisitions"
       }
      }
     },
     "localname": "BusinessCombinationDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Acquisitions"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_BusinessCombinationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Business Combinations [Abstract]",
        "terseLabel": "Business Combinations [Abstract]"
       }
      }
     },
     "localname": "BusinessCombinationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CapitalizedContractCostAmortization": {
     "auth_ref": [
      "r133"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer.",
        "label": "Capitalized Contract Cost, Amortization",
        "terseLabel": "Deferred commissions amortization"
       }
      }
     },
     "localname": "CapitalizedContractCostAmortization",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredCommissionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedContractCostImpairmentLoss": {
     "auth_ref": [
      "r133"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of impairment loss for asset recognized from cost incurred to obtain or fulfill contract with customer.",
        "label": "Capitalized Contract Cost, Impairment Loss",
        "terseLabel": "Deferred commissions impairment"
       }
      }
     },
     "localname": "CapitalizedContractCostImpairmentLoss",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredCommissionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedContractCostLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Capitalized Contract Cost [Line Items]",
        "terseLabel": "Capitalized Contract Cost"
       }
      }
     },
     "localname": "CapitalizedContractCostLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredCommissionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CapitalizedContractCostNet": {
     "auth_ref": [
      "r132"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.",
        "label": "Capitalized Contract Cost, Net",
        "terseLabel": "Deferred commissions"
       }
      }
     },
     "localname": "CapitalizedContractCostNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredCommissionsDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CapitalizedContractCostTable": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information about cost capitalized in obtaining or fulfilling contract with customer.",
        "label": "Capitalized Contract Cost [Table]",
        "terseLabel": "Capitalized Contract Cost [Table]"
       }
      }
     },
     "localname": "CapitalizedContractCostTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredCommissionsDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "auth_ref": [
      "r2",
      "r25",
      "r72"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 1.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "terseLabel": "Cash and cash equivalents"
       }
      }
     },
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsAndShortTermInvestments": {
     "auth_ref": [
      "r25"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Cash includes currency on hand as well as demand deposits with banks or financial institutions. It also includes other kinds of accounts that have the general characteristics of demand deposits in that the customer may deposit additional funds at any time and effectively may withdraw funds at any time without prior notice or penalty. Cash equivalents, excluding items classified as marketable securities, include short-term, highly liquid Investments that are both readily convertible to known amounts of cash, and so near their maturity that they present minimal risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three years ago does not become a cash equivalent when its remaining maturity is three months. Short-term investments, exclusive of cash equivalents, generally consist of marketable securities intended to be sold within one year (or the normal operating cycle if longer) and may include trading securities, available-for-sale securities, or held-to-maturity securities (if maturing within one year), as applicable.",
        "label": "Cash, Cash Equivalents, and Short-term Investments",
        "terseLabel": "Cash and investments"
       }
      }
     },
     "localname": "CashCashEquivalentsAndShortTermInvestments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "auth_ref": [
      "r66",
      "r72",
      "r74"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents",
        "periodEndLabel": "Cash and cash equivalents at end of period",
        "periodStartLabel": "Cash and cash equivalents at beginning of period"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "auth_ref": [
      "r66",
      "r202"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.",
        "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "totalLabel": "Net increase (decrease) in cash and cash equivalents"
       }
      }
     },
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingencies": {
     "auth_ref": [
      "r34",
      "r152",
      "r237",
      "r249"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.",
        "label": "Commitments and Contingencies",
        "terseLabel": "Commitments and contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingencies",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]",
        "terseLabel": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "auth_ref": [
      "r151",
      "r153"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for commitments and contingencies.",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "terseLabel": "Commitments and Contingencies"
       }
      }
     },
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CommitmentsandContingencies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_CommonStockMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Stock that is subordinate to all other stock of the issuer.",
        "label": "Common Stock [Member]",
        "terseLabel": "Common Stock"
       }
      }
     },
     "localname": "CommonStockMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Face amount or stated value per share of common stock.",
        "label": "Common Stock, Par or Stated Value Per Share",
        "terseLabel": "Common stock, par value (usd per share)"
       }
      }
     },
     "localname": "CommonStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.",
        "label": "Common Stock, Shares Authorized",
        "terseLabel": "Common stock, shares authorized (shares)"
       }
      }
     },
     "localname": "CommonStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesIssued": {
     "auth_ref": [
      "r15"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.",
        "label": "Common Stock, Shares, Issued",
        "terseLabel": "Common stock, shares issued (shares)"
       }
      }
     },
     "localname": "CommonStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "auth_ref": [
      "r15",
      "r158"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.",
        "label": "Common Stock, Shares, Outstanding",
        "terseLabel": "Common stock, shares outstanding (shares)"
       }
      }
     },
     "localname": "CommonStockSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_CommonStockValue": {
     "auth_ref": [
      "r15"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 2.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Common Stock, Value, Issued",
        "terseLabel": "Common stock, $0.01 par value; 100,000,000 shares authorized; 48,147,969 shares issued and outstanding as of March 31, 2020 and December 31, 2019"
       }
      }
     },
     "localname": "CommonStockValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "auth_ref": [
      "r165"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of contract balances and changes in contract balances.",
        "label": "Contract with Customer, Asset and Liability [Table Text Block]",
        "terseLabel": "Changes in deferred revenue"
       }
      }
     },
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ContractWithCustomerLiability": {
     "auth_ref": [
      "r163",
      "r164",
      "r170"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Contract with Customer, Liability",
        "periodEndLabel": "Balance as of March 31, 2020",
        "periodStartLabel": "Balance as of December 31, 2019",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "ContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "auth_ref": [
      "r163",
      "r164",
      "r170"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Contract with Customer, Liability, Current",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityNoncurrent": {
     "auth_ref": [
      "r163",
      "r164",
      "r170"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 2.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.",
        "label": "Contract with Customer, Liability, Noncurrent",
        "terseLabel": "Deferred revenue, long-term"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": {
     "auth_ref": [
      "r171"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.",
        "label": "Contract with Customer, Liability, Revenue Recognized",
        "negatedTerseLabel": "Recognition of deferred revenue"
       }
      }
     },
     "localname": "ContractWithCustomerLiabilityRevenueRecognized",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CorporateNonSegmentMember": {
     "auth_ref": [
      "r115"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment.",
        "label": "Corporate, Non-Segment [Member]",
        "terseLabel": "Corporate"
       }
      }
     },
     "localname": "CorporateNonSegmentMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails",
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "auth_ref": [
      "r51"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 2.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.",
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Total cost of revenues"
       }
      }
     },
     "localname": "CostOfGoodsAndServicesSold",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_CostOfRevenueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Cost of Revenue [Abstract]",
        "terseLabel": "Cost of revenues:"
       }
      }
     },
     "localname": "CostOfRevenueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Axis]",
        "terseLabel": "Credit Facility"
       }
      }
     },
     "localname": "CreditFacilityAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_CreditFacilityDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.",
        "label": "Credit Facility [Domain]",
        "terseLabel": "Credit Facility"
       }
      }
     },
     "localname": "CreditFacilityDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DebtDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Debt Disclosure [Abstract]",
        "terseLabel": "Debt Disclosure [Abstract]"
       }
      }
     },
     "localname": "DebtDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "auth_ref": [
      "r157"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.",
        "label": "Debt Disclosure [Text Block]",
        "terseLabel": "Revolving Line of Credit"
       }
      }
     },
     "localname": "DebtDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/RevolvingLineofCredit"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DebtInstrumentAxis": {
     "auth_ref": [
      "r10",
      "r12",
      "r13",
      "r230",
      "r231",
      "r242"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.",
        "label": "Debt Instrument [Axis]",
        "terseLabel": "Debt Instrument"
       }
      }
     },
     "localname": "DebtInstrumentAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.",
        "label": "Debt Instrument, Basis Spread on Variable Rate",
        "terseLabel": "Line of credit facility interest rate"
       }
      }
     },
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentInterestRateEffectivePercentage": {
     "auth_ref": [
      "r32",
      "r156",
      "r203"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Effective interest rate for the funds borrowed under the debt agreement considering interest compounding and original issue discount or premium.",
        "label": "Debt Instrument, Interest Rate, Effective Percentage",
        "terseLabel": "Effective percentage interest rate"
       }
      }
     },
     "localname": "DebtInstrumentInterestRateEffectivePercentage",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "auth_ref": [
      "r33"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities.",
        "label": "Debt Instrument, Name [Domain]",
        "terseLabel": "Debt Instrument, Name"
       }
      }
     },
     "localname": "DebtInstrumentNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]",
        "terseLabel": "Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]"
       }
      }
     },
     "localname": "DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r70",
      "r77",
      "r192",
      "r194"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.",
        "label": "Deferred Income Tax Expense (Benefit)",
        "terseLabel": "Deferred income tax benefit"
       }
      }
     },
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "auth_ref": [
      "r188",
      "r191"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 3.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.",
        "label": "Deferred Income Tax Liabilities, Net",
        "terseLabel": "Deferred income taxes"
       }
      }
     },
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DepreciationDepletionAndAmortization": {
     "auth_ref": [
      "r70",
      "r107"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.",
        "label": "Depreciation, Depletion and Amortization",
        "terseLabel": "Depreciation and amortization"
       }
      }
     },
     "localname": "DepreciationDepletionAndAmortization",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Disaggregation of Revenue [Line Items]",
        "terseLabel": "Disaggregation of Revenue"
       }
      }
     },
     "localname": "DisaggregationOfRevenueLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails",
      "http://www.tylertech.com/role/DisaggregationofRevenueAdditionalInformationDetails",
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table]",
        "terseLabel": "Disaggregation of Revenue [Table]"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails",
      "http://www.tylertech.com/role/DisaggregationofRevenueAdditionalInformationDetails",
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "auth_ref": [
      "r169"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.",
        "label": "Disaggregation of Revenue [Table Text Block]",
        "terseLabel": "Schedule of disaggregation of revenue"
       }
      }
     },
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DisaggregationofRevenueTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "auth_ref": [
      "r187"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for share-based payment arrangement.",
        "label": "Share-based Payment Arrangement [Text Block]",
        "terseLabel": "Share-Based Compensation"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/ShareBasedCompensation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Share-based Payment Arrangement [Abstract]",
        "terseLabel": "Share-based Payment Arrangement [Abstract]"
       }
      }
     },
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Earnings Per Share [Abstract]",
        "terseLabel": "Earnings per common share:"
       }
      }
     },
     "localname": "EarningsPerShareAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareBasic": {
     "auth_ref": [
      "r49",
      "r84",
      "r88",
      "r90",
      "r91",
      "r92",
      "r95",
      "r240",
      "r251"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.",
        "label": "Earnings Per Share, Basic",
        "terseLabel": "Basic (usd per share)"
       }
      }
     },
     "localname": "EarningsPerShareBasic",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareBasicAndDilutedAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Earnings Per Share, Basic and Diluted [Abstract]",
        "terseLabel": "Earnings per common share:"
       }
      }
     },
     "localname": "EarningsPerShareBasicAndDilutedAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EarningsPerShareDiluted": {
     "auth_ref": [
      "r49",
      "r84",
      "r88",
      "r90",
      "r91",
      "r92",
      "r95",
      "r240",
      "r251"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.",
        "label": "Earnings Per Share, Diluted",
        "terseLabel": "Diluted (usd per share)"
       }
      }
     },
     "localname": "EarningsPerShareDiluted",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "auth_ref": [
      "r96"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for earnings per share.",
        "label": "Earnings Per Share [Text Block]",
        "terseLabel": "Earnings Per Share"
       }
      }
     },
     "localname": "EarningsPerShareTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/EarningsPerShare"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "auth_ref": [
      "r80",
      "r189",
      "r190"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "terseLabel": "Effective income tax rates (percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/IncomeTaxProvisionDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount": {
     "auth_ref": [
      "r186",
      "r189"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to expense for award under share-based payment arrangement. Excludes expense determined to be nondeductible upon grant or after for award under share-based payment arrangement.",
        "label": "Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-based Payment Arrangement, Amount",
        "terseLabel": "Excess tax benefit"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/IncomeTaxProvisionDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": {
     "auth_ref": [
      "r189",
      "r190",
      "r193"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit).",
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent",
        "terseLabel": "Effective income tax rate excluding excess tax benefit (percent)"
       }
      }
     },
     "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/IncomeTaxProvisionDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]",
        "terseLabel": "Employee Service Share-based Compensation, Allocation of Recognized Period Costs"
       }
      }
     },
     "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/ShareBasedCompensationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Equity [Abstract]",
        "terseLabel": "Equity [Abstract]"
       }
      }
     },
     "localname": "EquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_EquityComponentDomain": {
     "auth_ref": [
      "r158"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.",
        "label": "Equity Component [Domain]",
        "terseLabel": "Equity Component"
       }
      }
     },
     "localname": "EquityComponentDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_EquityMethodInvestmentOwnershipPercentage": {
     "auth_ref": [
      "r125"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The percentage of ownership of common stock or equity participation in the investee accounted for under the equity method of accounting.",
        "label": "Equity Method Investment, Ownership Percentage",
        "terseLabel": "Ownership percentage (percent)"
       }
      }
     },
     "localname": "EquityMethodInvestmentOwnershipPercentage",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/OtherAssetsDetail"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "auth_ref": [
      "r139",
      "r140",
      "r143",
      "r145",
      "r227"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by major type or class of finite-lived intangible assets.",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "auth_ref": [
      "r139",
      "r142"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.",
        "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]",
        "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]"
       }
      }
     },
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_Goodwill": {
     "auth_ref": [
      "r134",
      "r135"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 4.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.",
        "label": "Goodwill",
        "terseLabel": "Goodwill"
       }
      }
     },
     "localname": "Goodwill",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_GrossProfit": {
     "auth_ref": [
      "r50"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.",
        "label": "Gross Profit",
        "totalLabel": "Gross profit"
       }
      }
     },
     "localname": "GrossProfit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "auth_ref": [
      "r47",
      "r84",
      "r228",
      "r238",
      "r252"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 1.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "terseLabel": "Income before income taxes",
        "totalLabel": "Income before income taxes"
       }
      }
     },
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeStatementAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Income Statement [Abstract]",
        "terseLabel": "Income Statement [Abstract]"
       }
      }
     },
     "localname": "IncomeStatementAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "auth_ref": [
      "r147"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by location in the income statement.",
        "label": "Income Statement Location [Axis]",
        "terseLabel": "Income Statement Location"
       }
      }
     },
     "localname": "IncomeStatementLocationAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/ShareBasedCompensationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Location in the income statement.",
        "label": "Income Statement Location [Domain]",
        "terseLabel": "Income Statement Location"
       }
      }
     },
     "localname": "IncomeStatementLocationDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/ShareBasedCompensationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]",
        "terseLabel": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "localname": "IncomeTaxDisclosureAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "auth_ref": [
      "r196"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.",
        "label": "Income Tax Disclosure [Text Block]",
        "terseLabel": "Income Tax Provision"
       }
      }
     },
     "localname": "IncomeTaxDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/IncomeTaxProvision"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "auth_ref": [
      "r77",
      "r108",
      "r195"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 2.0,
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.",
        "label": "Income Tax Expense (Benefit)",
        "terseLabel": "Income tax (benefit) provision"
       }
      }
     },
     "localname": "IncomeTaxExpenseBenefit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxReceivable": {
     "auth_ref": [
      "r24",
      "r241"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 5.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of income taxes previously overpaid to tax authorities (such as U.S. Federal, state and local tax authorities) representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes. Also called income tax refund receivable.",
        "label": "Income Taxes Receivable",
        "terseLabel": "Income tax receivable"
       }
      }
     },
     "localname": "IncomeTaxReceivable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncomeTaxesPaid": {
     "auth_ref": [
      "r67",
      "r73"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income.",
        "label": "Income Taxes Paid",
        "terseLabel": "Income tax payments"
       }
      }
     },
     "localname": "IncomeTaxesPaid",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/IncomeTaxProvisionDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "auth_ref": [
      "r69"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.",
        "label": "Increase (Decrease) in Accounts Payable",
        "terseLabel": "Accounts payable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsPayable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "auth_ref": [
      "r69"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.",
        "label": "Increase (Decrease) in Accounts Receivable",
        "negatedLabel": "Accounts receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": {
     "auth_ref": [
      "r69"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.",
        "label": "Increase (Decrease) in Income Taxes Payable",
        "terseLabel": "Income tax receivable"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "auth_ref": [
      "r69"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 9.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.",
        "label": "Increase (Decrease) in Accrued Liabilities",
        "terseLabel": "Accrued liabilities"
       }
      }
     },
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": {
     "auth_ref": [
      "r69"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 10.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.",
        "label": "Increase (Decrease) in Contract with Customer, Liability",
        "terseLabel": "Deferred revenue"
       }
      }
     },
     "localname": "IncreaseDecreaseInContractWithCustomerLiability",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Increase (Decrease) in Operating Capital [Abstract]",
        "terseLabel": "Changes in operating assets and liabilities, exclusive of effects of \u00a0\u00a0 acquired companies:"
       }
      }
     },
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "auth_ref": [
      "r69"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "negatedLabel": "Prepaid expenses and other current assets"
       }
      }
     },
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.",
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "terseLabel": "Increase (Decrease) in Stockholders' Equity"
       }
      }
     },
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "auth_ref": [
      "r89",
      "r94"
     ],
     "calculation": {
      "http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail": {
       "order": 2.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.",
        "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements",
        "terseLabel": "Stock awards (in shares)"
       }
      }
     },
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "auth_ref": [
      "r137",
      "r141"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 5.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.",
        "label": "Intangible Assets, Net (Excluding Goodwill)",
        "terseLabel": "Other intangibles, net"
       }
      }
     },
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_InterestReceivable": {
     "auth_ref": [
      "r38"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying amount as of the balance sheet date of interest earned but not received. Also called accrued interest or accrued interest receivable.",
        "label": "Interest Receivable",
        "terseLabel": "Interest receivable"
       }
      }
     },
     "localname": "InterestReceivable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/OtherAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_IntersegmentEliminationMember": {
     "auth_ref": [
      "r112"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Eliminating entries used in operating segment consolidation.",
        "label": "Intersegment Eliminations [Member]",
        "terseLabel": "Intercompany"
       }
      }
     },
     "localname": "IntersegmentEliminationMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_InvestmentsAndOtherNoncurrentAssets": {
     "auth_ref": [],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 6.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of investments, and noncurrent assets classified as other.",
        "label": "Investments and Other Noncurrent Assets",
        "terseLabel": "Non-current investments and other assets"
       }
      }
     },
     "localname": "InvestmentsAndOtherNoncurrentAssets",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCost": {
     "auth_ref": [
      "r218",
      "r220"
     ],
     "calculation": {
      "http://www.tylertech.com/role/LeasesScheduleofleasecostDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lease cost recognized by lessee for lease contract.",
        "label": "Lease, Cost",
        "terseLabel": "Operating lease, cost",
        "totalLabel": "Net lease cost"
       }
      }
     },
     "localname": "LeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesAdditionalInformationDetails",
      "http://www.tylertech.com/role/LeasesScheduleofleasecostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LeaseCostTableTextBlock": {
     "auth_ref": [
      "r218"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.",
        "label": "Lease, Cost [Table Text Block]",
        "terseLabel": "Schedule of lease cost"
       }
      }
     },
     "localname": "LeaseCostTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LeasesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Leases [Abstract]",
        "terseLabel": "Leases [Abstract]"
       }
      }
     },
     "localname": "LeasesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeaseDescriptionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Lessee, Lease, Description [Line Items]",
        "terseLabel": "Lessee, Lease, Description"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeLeaseDescriptionTable": {
     "auth_ref": [
      "r210"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information about lessee's leases.",
        "label": "Lessee, Lease, Description [Table]",
        "terseLabel": "Lessee, Lease, Description [Table]"
       }
      }
     },
     "localname": "LesseeLeaseDescriptionTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "auth_ref": [
      "r219"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.",
        "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]",
        "terseLabel": "Schedule of operating lease maturity"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "auth_ref": [
      "r219"
     ],
     "calculation": {
      "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      },
      "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails_1": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due",
        "totalLabel": "Total lease payments"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "auth_ref": [
      "r219"
     ],
     "calculation": {
      "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails_1": {
       "order": 6.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due after fifth fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due after Year Five",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "auth_ref": [
      "r219"
     ],
     "calculation": {
      "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails_1": {
       "order": 5.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fifth fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Five",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "auth_ref": [
      "r219"
     ],
     "calculation": {
      "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails_1": {
       "order": 4.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fourth fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "auth_ref": [
      "r219"
     ],
     "calculation": {
      "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails_1": {
       "order": 3.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in third fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "auth_ref": [
      "r219"
     ],
     "calculation": {
      "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails_1": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease, due in second fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "auth_ref": [
      "r219"
     ],
     "calculation": {
      "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails_1": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments for operating lease having an initial or remaining lease term in excess of one year due in remainder of fiscal year following latest fiscal year.",
        "label": "Lessee, Operating Lease, Liability, Payments, Remainder of Fiscal Year",
        "terseLabel": "2020 (Remaining 2020)"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "auth_ref": [
      "r219"
     ],
     "calculation": {
      "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedTerseLabel": "Less: Interest"
       }
      }
     },
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LesseeOperatingLeaseRenewalTerm": {
     "auth_ref": [
      "r209"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Lessee, Operating Lease, Renewal Term",
        "terseLabel": "Operating lease renewal term (up to)"
       }
      }
     },
     "localname": "LesseeOperatingLeaseRenewalTerm",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_LesseeOperatingLeaseTermOfContract": {
     "auth_ref": [
      "r209"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Lessee, Operating Lease, Term of Contract",
        "terseLabel": "Operating lease term"
       }
      }
     },
     "localname": "LesseeOperatingLeaseTermOfContract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "auth_ref": [
      "r221"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.",
        "label": "Lessee, Operating Leases [Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "LesseeOperatingLeasesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Leases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_LessorOperatingLeasePaymentsToBeReceived": {
     "auth_ref": [
      "r222"
     ],
     "calculation": {
      "http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lease payments to be received by lessor for operating lease.",
        "label": "Lessor, Operating Lease, Payments to be Received",
        "totalLabel": "Total"
       }
      }
     },
     "localname": "LessorOperatingLeasePaymentsToBeReceived",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LessorOperatingLeasePaymentsToBeReceivedFiveYears": {
     "auth_ref": [
      "r222"
     ],
     "calculation": {
      "http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails": {
       "order": 4.0,
       "parentTag": "us-gaap_LessorOperatingLeasePaymentsToBeReceived",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lease payments to be received by lessor in fifth fiscal year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest statement of financial position date.",
        "label": "Lessor, Operating Lease, Payments to be Received, Five Years",
        "terseLabel": "2024"
       }
      }
     },
     "localname": "LessorOperatingLeasePaymentsToBeReceivedFiveYears",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LessorOperatingLeasePaymentsToBeReceivedFourYears": {
     "auth_ref": [
      "r222"
     ],
     "calculation": {
      "http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LessorOperatingLeasePaymentsToBeReceived",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lease payments to be received by lessor in fourth year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.",
        "label": "Lessor, Operating Lease, Payments to be Received, Four Years",
        "terseLabel": "2023"
       }
      }
     },
     "localname": "LessorOperatingLeasePaymentsToBeReceivedFourYears",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths": {
     "auth_ref": [
      "r222"
     ],
     "calculation": {
      "http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails": {
       "order": 6.0,
       "parentTag": "us-gaap_LessorOperatingLeasePaymentsToBeReceived",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lease payments to be received by lessor in next fiscal year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.",
        "label": "Lessor, Operating Lease, Payments to be Received, Next Twelve Months",
        "terseLabel": "2020 (Remaining 2020)"
       }
      }
     },
     "localname": "LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LessorOperatingLeasePaymentsToBeReceivedThereafter": {
     "auth_ref": [
      "r222"
     ],
     "calculation": {
      "http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails": {
       "order": 5.0,
       "parentTag": "us-gaap_LessorOperatingLeasePaymentsToBeReceived",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lease payments to be received by lessor after fifth fiscal year following latest statement of financial position date for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.",
        "label": "Lessor, Operating Lease, Payments to be Received, Thereafter",
        "terseLabel": "Thereafter"
       }
      }
     },
     "localname": "LessorOperatingLeasePaymentsToBeReceivedThereafter",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LessorOperatingLeasePaymentsToBeReceivedThreeYears": {
     "auth_ref": [
      "r222"
     ],
     "calculation": {
      "http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LessorOperatingLeasePaymentsToBeReceived",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lease payments to be received by lessor in third fiscal year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.",
        "label": "Lessor, Operating Lease, Payments to be Received, Three Years",
        "terseLabel": "2022"
       }
      }
     },
     "localname": "LessorOperatingLeasePaymentsToBeReceivedThreeYears",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LessorOperatingLeasePaymentsToBeReceivedTwoYears": {
     "auth_ref": [
      "r222"
     ],
     "calculation": {
      "http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LessorOperatingLeasePaymentsToBeReceived",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lease payments to be received by lessor in second fiscal year following latest fiscal year for operating lease. Excludes interim and annual periods when interim periods are reported on rolling approach, from latest statement of financial position date.",
        "label": "Lessor, Operating Lease, Payments to be Received, Two Years",
        "terseLabel": "2021"
       }
      }
     },
     "localname": "LessorOperatingLeasePaymentsToBeReceivedTwoYears",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesScheduleoffutureminimumoperatingrentalincomeDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LessorOperatingLeaseRenewalTerm": {
     "auth_ref": [
      "r223"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Term of lessor's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Lessor, Operating Lease, Renewal Term",
        "terseLabel": "Lessor, operating lease renewal term"
       }
      }
     },
     "localname": "LessorOperatingLeaseRenewalTerm",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_LetterOfCreditMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit).",
        "label": "Letter of Credit [Member]",
        "terseLabel": "Letter of Credit"
       }
      }
     },
     "localname": "LetterOfCreditMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LiabilitiesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Liabilities [Abstract]",
        "terseLabel": "Liabilities:"
       }
      }
     },
     "localname": "LiabilitiesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesScheduleofleasesassetsandliabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "auth_ref": [
      "r21",
      "r232",
      "r247"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.",
        "label": "Liabilities and Equity",
        "totalLabel": "Total liabilities and shareholders' equity"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Liabilities and Equity [Abstract]",
        "terseLabel": "LIABILITIES AND SHAREHOLDERS' EQUITY"
       }
      }
     },
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LiabilitiesCurrent": {
     "auth_ref": [
      "r31"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 1.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.",
        "label": "Liabilities, Current",
        "totalLabel": "Total current liabilities"
       }
      }
     },
     "localname": "LiabilitiesCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Liabilities, Current [Abstract]",
        "terseLabel": "Current liabilities:"
       }
      }
     },
     "localname": "LiabilitiesCurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LicenseMember": {
     "auth_ref": [
      "r172"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Right to use intangible asset. Intangible asset includes, but is not limited to, patent, copyright, technology, manufacturing process, software or trademark.",
        "label": "License [Member]",
        "terseLabel": "Software licenses and royalties"
       }
      }
     },
     "localname": "LicenseMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Line of Credit Facility [Line Items]",
        "terseLabel": "Line Of Credit Facility"
       }
      }
     },
     "localname": "LineOfCreditFacilityLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "auth_ref": [
      "r27"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "terseLabel": "Revolving credit facility, maximum borrowing capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "auth_ref": [
      "r27"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).",
        "label": "Line of Credit Facility, Remaining Borrowing Capacity",
        "terseLabel": "Line of credit facility, unused borrowing capacity"
       }
      }
     },
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "auth_ref": [
      "r27",
      "r78"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A table or schedule providing information pertaining to short-term or long-term contractual arrangements with lenders, including letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line.",
        "label": "Line of Credit Facility [Table]",
        "terseLabel": "Line Of Credit Facility [Table]"
       }
      }
     },
     "localname": "LineOfCreditFacilityTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_LondonInterbankOfferedRateLIBORMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Interest rate at which a bank borrows funds from other banks in the London interbank market.",
        "label": "London Interbank Offered Rate (LIBOR) [Member]",
        "terseLabel": "Libor Rate"
       }
      }
     },
     "localname": "LondonInterbankOfferedRateLIBORMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_LongTermLineOfCredit": {
     "auth_ref": [
      "r33",
      "r154",
      "r155"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 6.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The carrying value as of the balance sheet date of the noncurrent portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.",
        "label": "Long-term Line of Credit, Noncurrent",
        "terseLabel": "Revolving line of credit",
        "verboseLabel": "Outstanding borrowings"
       }
      }
     },
     "localname": "LongTermLineOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_MaintenanceMember": {
     "auth_ref": [
      "r172"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Process of preserving asset, including, but not limited to, building, machinery and software.",
        "label": "Maintenance [Member]",
        "terseLabel": "Maintenance",
        "verboseLabel": "Maintenance"
       }
      }
     },
     "localname": "MaintenanceMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_MaterialReconcilingItemsMember": {
     "auth_ref": [
      "r112",
      "r113"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Items used in reconciling reportable segments' amounts to consolidated amount. Excludes corporate-level activity.",
        "label": "Segment Reconciling Items [Member]",
        "terseLabel": "Segment reconciling items"
       }
      }
     },
     "localname": "MaterialReconcilingItemsMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "auth_ref": [
      "r66"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 2.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "totalLabel": "Net cash provided by financing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]",
        "terseLabel": "Cash flows from financing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "auth_ref": [
      "r66"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 3.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "totalLabel": "Net cash used by investing activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]",
        "terseLabel": "Cash flows from investing activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "auth_ref": [
      "r66",
      "r68",
      "r71"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 1.0,
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Net cash provided by operating activities"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]",
        "terseLabel": "Cash flows from operating activities:"
       }
      }
     },
     "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NetIncomeLoss": {
     "auth_ref": [
      "r45",
      "r46",
      "r48",
      "r71",
      "r94",
      "r239",
      "r250"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      },
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.",
        "label": "Net Income (Loss) Attributable to Parent",
        "terseLabel": "Net income",
        "totalLabel": "Net income"
       }
      }
     },
     "localname": "NetIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY",
      "http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "New Accounting Pronouncements or Change in Accounting Principle [Line Items]",
        "terseLabel": "New Accounting Pronouncements or Change in Accounting Principle"
       }
      }
     },
     "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable": {
     "auth_ref": [
      "r83",
      "r85"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Summarization of the changes in an accounting principle or a new accounting pronouncement, including the line items affected by the change and the financial effects of the change on those particular line items.",
        "label": "New Accounting Pronouncements or Change in Accounting Principle [Table]",
        "terseLabel": "New Accounting Pronouncements or Change in Accounting Principle [Table]"
       }
      }
     },
     "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.",
        "label": "New Accounting Pronouncements, Policy [Policy Text Block]",
        "terseLabel": "Recently adopted pronouncements"
       }
      }
     },
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_NumberOfReportableSegments": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.",
        "label": "Number of Reportable Segments",
        "terseLabel": "Number of reportable segment"
       }
      }
     },
     "localname": "NumberOfReportableSegments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/SegmentandRelatedInformationAdditionalInformationDetail"
     ],
     "xbrltype": "integerItemType"
    },
    "us-gaap_OperatingIncomeLoss": {
     "auth_ref": [],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 1.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The net result for the period of deducting operating expenses from operating revenues.",
        "label": "Operating Income (Loss)",
        "terseLabel": "Total segment operating income",
        "totalLabel": "Operating income",
        "verboseLabel": "Operating income"
       }
      }
     },
     "localname": "OperatingIncomeLoss",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseCost": {
     "auth_ref": [
      "r211",
      "r220"
     ],
     "calculation": {
      "http://www.tylertech.com/role/LeasesScheduleofleasecostDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.",
        "label": "Operating Lease, Cost",
        "terseLabel": "Operating lease cost"
       }
      }
     },
     "localname": "OperatingLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesScheduleofleasecostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLeaseIncomeTableTextBlock": {
     "auth_ref": [
      "r97",
      "r224"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of components of income from operating lease.",
        "label": "Operating Lease, Lease Income [Table Text Block]",
        "terseLabel": "Schedule of future minimum operating rental income"
       }
      }
     },
     "localname": "OperatingLeaseLeaseIncomeTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Payment, Due [Abstract]",
        "terseLabel": "Operating Leases"
       }
      }
     },
     "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OperatingLeaseLiability": {
     "auth_ref": [
      "r207"
     ],
     "calculation": {
      "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0
      },
      "http://www.tylertech.com/role/LeasesScheduleofleasesassetsandliabilitiesDetails": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.",
        "label": "Operating Lease, Liability",
        "terseLabel": "Present value of operating lease liabilities",
        "totalLabel": "Total lease liabilities"
       }
      }
     },
     "localname": "OperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesMaturityofleaseliabilitiesDetails",
      "http://www.tylertech.com/role/LeasesScheduleofleasesassetsandliabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "auth_ref": [
      "r207"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 4.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      },
      "http://www.tylertech.com/role/LeasesScheduleofleasesassetsandliabilitiesDetails": {
       "order": 1.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.",
        "label": "Operating Lease, Liability, Current",
        "terseLabel": "Operating lease liabilities",
        "verboseLabel": "Operating leases, short-term"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.tylertech.com/role/LeasesScheduleofleasesassetsandliabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "auth_ref": [
      "r207"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 7.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      },
      "http://www.tylertech.com/role/LeasesScheduleofleasesassetsandliabilitiesDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingLeaseLiability",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.",
        "label": "Operating Lease, Liability, Noncurrent",
        "terseLabel": "Operating lease liabilities, long-term",
        "verboseLabel": "Operating leases, long-term"
       }
      }
     },
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.tylertech.com/role/LeasesScheduleofleasesassetsandliabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeasePayments": {
     "auth_ref": [
      "r208",
      "r214"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.",
        "label": "Operating Lease, Payments",
        "terseLabel": "Operating cash outflows from operating leases"
       }
      }
     },
     "localname": "OperatingLeasePayments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesScheduleofotherinformationrelatedtoleasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "auth_ref": [
      "r206"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 7.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of lessee's right to use underlying asset under operating lease.",
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Operating lease right-of-use assets"
       }
      }
     },
     "localname": "OperatingLeaseRightOfUseAsset",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.tylertech.com/role/LeasesScheduleofleasesassetsandliabilitiesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "auth_ref": [
      "r217",
      "r220"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average discount rate for operating lease calculated at point in time.",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "terseLabel": "Weighted average discount rate"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesScheduleofotherinformationrelatedtoleasesDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "auth_ref": [
      "r216",
      "r220"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "terseLabel": "Weighted average remaining lease term (years)"
       }
      }
     },
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesScheduleofotherinformationrelatedtoleasesDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_OperatingLeasesOfLessorDisclosureTextBlock": {
     "auth_ref": [
      "r204",
      "r205",
      "r225"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for lessor's operating leases.",
        "label": "Lessor, Operating Leases [Text Block]",
        "terseLabel": "Leases"
       }
      }
     },
     "localname": "OperatingLeasesOfLessorDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/Leases"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OperatingSegmentsMember": {
     "auth_ref": [
      "r106",
      "r114"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.",
        "label": "Operating Segments [Member]",
        "terseLabel": "Operating segments"
       }
      }
     },
     "localname": "OperatingSegmentsMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails",
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]",
        "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": {
     "auth_ref": [
      "r1",
      "r201"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.",
        "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]",
        "terseLabel": "Basis of Presentation"
       }
      }
     },
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/BasisofPresentation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherAssetsCurrent": {
     "auth_ref": [
      "r38"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 6.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of current assets classified as other.",
        "label": "Other Assets, Current",
        "terseLabel": "Other current assets"
       }
      }
     },
     "localname": "OtherAssetsCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_OtherAssetsDisclosureTextBlock": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for other assets. This disclosure includes other current assets and other noncurrent assets.",
        "label": "Other Assets Disclosure [Text Block]",
        "terseLabel": "Other Assets"
       }
      }
     },
     "localname": "OtherAssetsDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/OtherAssets"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_OtherAssetsNoncurrentAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Other Assets, Noncurrent [Abstract]",
        "terseLabel": "Other assets:"
       }
      }
     },
     "localname": "OtherAssetsNoncurrentAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "auth_ref": [
      "r54"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 2.0,
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.",
        "label": "Other Nonoperating Income (Expense)",
        "terseLabel": "Other income, net",
        "verboseLabel": "Other income, net"
       }
      }
     },
     "localname": "OtherNonoperatingIncomeExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentForContingentConsiderationLiabilityFinancingActivities": {
     "auth_ref": [
      "r65"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash outflow, not made soon after acquisition date of business combination, to settle contingent consideration liability up to amount recognized at acquisition date, including, but not limited to, measurement period adjustment and less amount paid soon after acquisition date.",
        "label": "Payment for Contingent Consideration Liability, Financing Activities",
        "negatedLabel": "Payment of contingent consideration",
        "terseLabel": "Payment of contingent consideration"
       }
      }
     },
     "localname": "PaymentForContingentConsiderationLiabilityFinancingActivities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AcquisitionsNarrativeDetails",
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForProceedsFromOtherInvestingActivities": {
     "auth_ref": [
      "r57",
      "r61",
      "r81"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash (inflow) outflow from investing activities classified as other.",
        "label": "Payments for (Proceeds from) Other Investing Activities",
        "negatedLabel": "(Increase) decrease in other"
       }
      }
     },
     "localname": "PaymentsForProceedsFromOtherInvestingActivities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "auth_ref": [
      "r64"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow to reacquire common stock during the period.",
        "label": "Payments for Repurchase of Common Stock",
        "negatedLabel": "Purchase of treasury shares"
       }
      }
     },
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsForSoftware": {
     "auth_ref": [
      "r60"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 6.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow associated with the development, modification or acquisition of software programs or applications for internal use (that is, not to be sold, leased or otherwise marketed to others) that qualify for capitalization.",
        "label": "Payments for Software",
        "negatedTerseLabel": "Investment in software"
       }
      }
     },
     "localname": "PaymentsForSoftware",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": {
     "auth_ref": [
      "r59"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 5.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.",
        "label": "Payments to Acquire Businesses, Net of Cash Acquired",
        "negatedTerseLabel": "Cost of acquisitions, net of cash acquired"
       }
      }
     },
     "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireEquityMethodInvestments": {
     "auth_ref": [
      "r59"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 7.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow associated with the purchase of or advances to an equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.",
        "label": "Payments to Acquire Equity Method Investments",
        "negatedLabel": "Purchase of investment in common shares",
        "terseLabel": "Purchase of equity investment common shares"
       }
      }
     },
     "localname": "PaymentsToAcquireEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://www.tylertech.com/role/OtherAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireHeldToMaturitySecurities": {
     "auth_ref": [
      "r58",
      "r124"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash outflow through purchase of long-term held-to-maturity securities.",
        "label": "Payments to Acquire Held-to-maturity Securities",
        "terseLabel": "Purchase of held to maturity securities"
       }
      }
     },
     "localname": "PaymentsToAcquireHeldToMaturitySecurities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/OtherAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquireMarketableSecurities": {
     "auth_ref": [
      "r124"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash outflow for purchase of marketable security.",
        "label": "Payments to Acquire Marketable Securities",
        "negatedLabel": "Purchase of marketable security investments"
       }
      }
     },
     "localname": "PaymentsToAcquireMarketableSecurities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "auth_ref": [
      "r60"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 1.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "negatedLabel": "Additions to property and equipment"
       }
      }
     },
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PreferredStockParOrStatedValuePerShare": {
     "auth_ref": [
      "r14"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.",
        "label": "Preferred Stock, Par or Stated Value Per Share",
        "terseLabel": "Preferred stock, par value (usd per share)"
       }
      }
     },
     "localname": "PreferredStockParOrStatedValuePerShare",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "perShareItemType"
    },
    "us-gaap_PreferredStockSharesAuthorized": {
     "auth_ref": [
      "r14"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.",
        "label": "Preferred Stock, Shares Authorized",
        "terseLabel": "Preferred stock, shares authorized (shares)"
       }
      }
     },
     "localname": "PreferredStockSharesAuthorized",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockSharesIssued": {
     "auth_ref": [
      "r14"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.",
        "label": "Preferred Stock, Shares Issued",
        "terseLabel": "Preferred stock, shares issued (shares)"
       }
      }
     },
     "localname": "PreferredStockSharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_PreferredStockValue": {
     "auth_ref": [
      "r14"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 1.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.",
        "label": "Preferred Stock, Value, Issued",
        "terseLabel": "Preferred stock, $10.00 par value; 1,000,000 shares authorized; none issued"
       }
      }
     },
     "localname": "PreferredStockValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrepaidExpenseCurrent": {
     "auth_ref": [
      "r4",
      "r6",
      "r131"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 4.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer.",
        "label": "Prepaid Expense, Current",
        "terseLabel": "Prepaid expenses"
       }
      }
     },
     "localname": "PrepaidExpenseCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_PrimeRateMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Interest rate charged by financial institutions to their most creditworthy borrowers.",
        "label": "Prime Rate [Member]",
        "terseLabel": "Prime Commercial Lending Rate"
       }
      }
     },
     "localname": "PrimeRateMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ProceedsFromLinesOfCredit": {
     "auth_ref": [
      "r63",
      "r79"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 4.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements.",
        "label": "Proceeds from Lines of Credit",
        "terseLabel": "Increase in net borrowings on revolving line of credit"
       }
      }
     },
     "localname": "ProceedsFromLinesOfCredit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleAndMaturityOfMarketableSecurities": {
     "auth_ref": [],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash inflow associated with the aggregate amount received by the entity through sale or maturity of marketable securities  (held-to-maturity or available-for-sale) during the period.",
        "label": "Proceeds from Sale and Maturity of Marketable Securities",
        "terseLabel": "Proceeds from marketable security investments"
       }
      }
     },
     "localname": "ProceedsFromSaleAndMaturityOfMarketableSecurities",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromSaleOfEquityMethodInvestments": {
     "auth_ref": [
      "r56"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 8.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash inflow associated with the sale of equity method investments, which are investments in joint ventures and entities in which the entity has an equity ownership interest normally of 20 to 50 percent and exercises significant influence.",
        "label": "Proceeds from Sale of Equity Method Investments",
        "terseLabel": "Proceeds from the sale of investment in preferred shares"
       }
      }
     },
     "localname": "ProceedsFromSaleOfEquityMethodInvestments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS",
      "http://www.tylertech.com/role/OtherAssetsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "auth_ref": [
      "r62",
      "r182"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 2.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.",
        "label": "Proceeds from Stock Options Exercised",
        "terseLabel": "Proceeds from exercise of stock options"
       }
      }
     },
     "localname": "ProceedsFromStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProceedsFromStockPlans": {
     "auth_ref": [
      "r62"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cash inflow associated with the amount received from the stock plan during the period.",
        "label": "Proceeds from Stock Plans",
        "terseLabel": "Contributions from employee stock purchase plan"
       }
      }
     },
     "localname": "ProceedsFromStockPlans",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ProductMember": {
     "auth_ref": [
      "r172"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Article or substance produced by nature, labor or machinery.",
        "label": "Product [Member]",
        "terseLabel": "Hardware and other"
       }
      }
     },
     "localname": "ProductMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "auth_ref": [
      "r8",
      "r9",
      "r146",
      "r248"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 3.0,
       "parentTag": "us-gaap_Assets",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.",
        "label": "Property, Plant and Equipment, Net",
        "terseLabel": "Property and equipment, net"
       }
      }
     },
     "localname": "PropertyPlantAndEquipmentNet",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ReceivableTypeDomain": {
     "auth_ref": [
      "r37"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Financing arrangement representing a contractual right to receive money either on demand or on fixed and determinable dates.",
        "label": "Receivable [Domain]",
        "terseLabel": "Receivable [Domain]"
       }
      }
     },
     "localname": "ReceivableTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ReceivablesBillingStatusDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amounts due from customers (or dealers) within the next year (or operating cycle, if longer) for goods or services that have been delivered or used, but not yet paid.",
        "label": "Receivables Billing Status [Domain]",
        "terseLabel": "Receivables Billing Status [Domain]"
       }
      }
     },
     "localname": "ReceivablesBillingStatusDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy": {
     "auth_ref": [
      "r23",
      "r75",
      "r122"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for determining the allowance for doubtful accounts for trade and other accounts receivable balances, and when impairments, charge-offs or recoveries are recognized.",
        "label": "Receivables, Trade and Other Accounts Receivable, Allowance for Doubtful Accounts, Policy [Policy Text Block]",
        "terseLabel": "Contract balances"
       }
      }
     },
     "localname": "ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock": {
     "auth_ref": [
      "r111",
      "r113"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the reconciliation of profit (loss) from reportable segments to the consolidated income (loss) before income tax expense (benefit) and discontinued operations. Includes, but is not limited to, reconciliation after income tax if income tax is allocated to the reportable segment.",
        "label": "Reconciliation of Operating Profit (Loss) from Segments to Consolidated [Table Text Block]",
        "terseLabel": "Reconciliation of operating income from segments to consolidated"
       }
      }
     },
     "localname": "ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/SegmentandRelatedInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RentalIncomeNonoperating": {
     "auth_ref": [
      "r53"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Income earned by providing the use of assets to an outside party in exchange for a payment or series of payments that is nonoperating in nature.",
        "label": "Rental Income, Nonoperating",
        "terseLabel": "Rental income"
       }
      }
     },
     "localname": "RentalIncomeNonoperating",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost": {
     "auth_ref": [
      "r256"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 3.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Research and development expense during the period related to the costs of developing and achieving technological feasibility of a computer software product to be sold, leased, or otherwise marketed.",
        "label": "Research and Development Expense, Software (Excluding Acquired in Process Cost)",
        "terseLabel": "Research and development expense"
       }
      }
     },
     "localname": "ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "auth_ref": [
      "r18",
      "r159",
      "r246"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 5.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings (Accumulated Deficit)",
        "terseLabel": "Retained earnings"
       }
      }
     },
     "localname": "RetainedEarningsAccumulatedDeficit",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RetainedEarningsMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.",
        "label": "Retained Earnings [Member]",
        "terseLabel": "Retained Earnings"
       }
      }
     },
     "localname": "RetainedEarningsMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Revenue from Contract with Customer [Abstract]",
        "terseLabel": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "auth_ref": [
      "r168",
      "r169"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 1.0,
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.",
        "label": "Revenue from Contract with Customer, Excluding Assessed Tax",
        "terseLabel": "Total revenues",
        "verboseLabel": "Total Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": {
     "auth_ref": [
      "r76",
      "r175"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for revenue from contract with customer.",
        "label": "Revenue from Contract with Customer [Policy Text Block]",
        "terseLabel": "Revenue recognition"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerPolicyTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "auth_ref": [
      "r175"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.",
        "label": "Revenue from Contract with Customer [Text Block]",
        "netLabel": "Deferred Revenue and Performance Obligations",
        "terseLabel": "Deferred Commissions",
        "verboseLabel": "Disaggregation of Revenue"
       }
      }
     },
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredCommissions",
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligations",
      "http://www.tylertech.com/role/DisaggregationofRevenue"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "auth_ref": [
      "r166"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.",
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "terseLabel": "Remaining performance obligations"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]",
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "auth_ref": [
      "r167"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period",
        "terseLabel": "Expected timing of satisfaction period"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails"
     ],
     "xbrltype": "durationItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "auth_ref": [
      "r167"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in CCYY-MM-DD format.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]",
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation.",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]",
        "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevenueRemainingPerformanceObligationPercentage": {
     "auth_ref": [
      "r167"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue.",
        "label": "Revenue, Remaining Performance Obligation, Percentage",
        "terseLabel": "Revenue, remaining performance obligation, percentage"
       }
      }
     },
     "localname": "RevenueRemainingPerformanceObligationPercentage",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsAdditionalInformationDetails"
     ],
     "xbrltype": "percentItemType"
    },
    "us-gaap_RevenuesAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Revenues [Abstract]",
        "terseLabel": "Revenues:"
       }
      }
     },
     "localname": "RevenuesAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.",
        "label": "Revolving Credit Facility [Member]",
        "terseLabel": "Revolving Credit Facility"
       }
      }
     },
     "localname": "RevolvingCreditFacilityMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "auth_ref": [
      "r215",
      "r220"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.",
        "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "terseLabel": "Operating leases"
       }
      }
     },
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesScheduleofotherinformationrelatedtoleasesDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "auth_ref": [
      "r197",
      "r198"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities.",
        "label": "Schedule of Business Acquisitions, by Acquisition [Table]",
        "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]"
       }
      }
     },
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AcquisitionsNarrativeDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "auth_ref": [
      "r94"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Computation of reconciliation of basic earnings per share to diluted earnings per share"
       }
      }
     },
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/EarningsPerShareTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": {
     "auth_ref": [
      "r177",
      "r180",
      "r183"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements.",
        "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]",
        "terseLabel": "Schedule Of Employee Service Share Based Compensation Allocation Of Recognized Period Costs [Table]"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/ShareBasedCompensationDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "auth_ref": [
      "r177",
      "r180",
      "r183"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.",
        "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]",
        "terseLabel": "Summary of share-based compensation expense related to share-based awards recorded in the statements of income"
       }
      }
     },
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/ShareBasedCompensationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Schedule of Equity Method Investments [Line Items]",
        "terseLabel": "Schedule of Equity Method Investments"
       }
      }
     },
     "localname": "ScheduleOfEquityMethodInvestmentsLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/OtherAssetsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfEquityMethodInvestmentsTable": {
     "auth_ref": [
      "r126"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Summarization of information required and determined to be disclosed concerning equity method investments in common stock. The summarized information includes: (a) the name of each investee or group of investees for which combined disclosure is appropriate, (2) the percentage ownership of common stock, (3) the difference, if any, between the carrying amount of an investment and the value of the underlying equity in the net assets and the accounting treatment of difference, if any, and (4) the aggregate value of each identified investment based on its quoted market price, if available.",
        "label": "Schedule of Equity Method Investments [Table]",
        "terseLabel": "Schedule of Equity Method Investments [Table]"
       }
      }
     },
     "localname": "ScheduleOfEquityMethodInvestmentsTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/OtherAssetsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": {
     "auth_ref": [
      "r105",
      "r109",
      "r110",
      "r112",
      "r136"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table]",
        "terseLabel": "Schedule Of Segment Reporting Information By Segment [Table]",
        "verboseLabel": "Schedule of Segment Reporting Information, by Segment [Table]"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/SegmentandRelatedInformationAdditionalInformationDetail",
      "http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "auth_ref": [
      "r105",
      "r109",
      "r110",
      "r112",
      "r136"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.",
        "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]",
        "terseLabel": "Schedule of segment revenues and operations"
       }
      }
     },
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/SegmentandRelatedInformationTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_ScheduleOfStockholdersEquityTableTextBlock": {
     "auth_ref": [
      "r158"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Tabular disclosure of changes in the separate accounts comprising stockholders' equity (in addition to retained earnings) and of the changes in the number of shares of equity securities during at least the most recent annual fiscal period and any subsequent interim period presented is required to make the financial statements sufficiently informative if both financial position and results of operations are presented.",
        "label": "Schedule of Stockholders Equity [Table Text Block]",
        "terseLabel": "Summary of details activity in our common stock"
       }
      }
     },
     "localname": "ScheduleOfStockholdersEquityTableTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/ShareholdersEquityTables"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.",
        "label": "Segments [Domain]",
        "terseLabel": "Segments"
       }
      }
     },
     "localname": "SegmentDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails",
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails",
      "http://www.tylertech.com/role/SegmentandRelatedInformationAdditionalInformationDetail",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SegmentReportingAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Segment Reporting [Abstract]",
        "terseLabel": "Segment Reporting [Abstract]"
       }
      }
     },
     "localname": "SegmentReportingAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "auth_ref": [
      "r118"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.",
        "label": "Segment Reporting Disclosure [Text Block]",
        "terseLabel": "Segment and Related Information"
       }
      }
     },
     "localname": "SegmentReportingDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/SegmentandRelatedInformation"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SegmentReportingInformationLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Segment Reporting Information [Line Items]",
        "terseLabel": "Segment Reporting Information"
       }
      }
     },
     "localname": "SegmentReportingInformationLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/SegmentandRelatedInformationAdditionalInformationDetail",
      "http://www.tylertech.com/role/SegmentandRelatedInformationReconciliationofOperatingIncomefromSegmentstoConsolidatedDetail",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpense": {
     "auth_ref": [
      "r52",
      "r130"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME": {
       "order": 2.0,
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.",
        "label": "Selling, General and Administrative Expense",
        "terseLabel": "Selling, general and administrative expenses"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpense",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SellingGeneralAndAdministrativeExpensesMember": {
     "auth_ref": [
      "r55"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Primary financial statement caption encompassing selling, general and administrative expense.",
        "label": "Selling, General and Administrative Expenses [Member]",
        "terseLabel": "Selling, general and administrative expenses"
       }
      }
     },
     "localname": "SellingGeneralAndAdministrativeExpensesMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/ShareBasedCompensationDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShareBasedCompensation": {
     "auth_ref": [
      "r69"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS": {
       "order": 3.0,
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of noncash expense for share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Noncash Expense",
        "terseLabel": "Share-based compensation expense"
       }
      }
     },
     "localname": "ShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFCASHFLOWS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SharesIssued": {
     "auth_ref": [
      "r158"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury.",
        "label": "Shares, Issued",
        "periodEndLabel": "Ending balance (in shares)",
        "periodStartLabel": "Beginning balance (in shares)"
       }
      }
     },
     "localname": "SharesIssued",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.",
        "label": "Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation",
        "negatedTerseLabel": "Employee taxes paid for withheld shares upon equity award settlement (in shares)"
       }
      }
     },
     "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_ShortTermDebtTypeAxis": {
     "auth_ref": [
      "r28"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of short-term debt arrangement.",
        "label": "Short-term Debt, Type [Axis]",
        "terseLabel": "Short-term Debt, Type"
       }
      }
     },
     "localname": "ShortTermDebtTypeAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_ShortTermDebtTypeDomain": {
     "auth_ref": [
      "r26"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Type of short-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing.",
        "label": "Short-term Debt, Type [Domain]",
        "terseLabel": "Short-term Debt, Type"
       }
      }
     },
     "localname": "ShortTermDebtTypeDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_ShortTermInvestments": {
     "auth_ref": [
      "r11",
      "r233",
      "r234",
      "r235",
      "r244"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 3.0,
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current.",
        "label": "Short-term Investments",
        "terseLabel": "Short-term investments"
       }
      }
     },
     "localname": "ShortTermInvestments",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_ShortTermLeaseCost": {
     "auth_ref": [
      "r212",
      "r220"
     ],
     "calculation": {
      "http://www.tylertech.com/role/LeasesScheduleofleasecostDetails": {
       "order": 2.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less.",
        "label": "Short-term Lease, Cost",
        "terseLabel": "Short-term lease cost"
       }
      }
     },
     "localname": "ShortTermLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesScheduleofleasecostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "auth_ref": [
      "r82"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.",
        "label": "Significant Accounting Policies [Text Block]",
        "terseLabel": "Accounting Standards and Significant Accounting Policies"
       }
      }
     },
     "localname": "SignificantAccountingPoliciesTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_StatementBusinessSegmentsAxis": {
     "auth_ref": [
      "r0",
      "r109",
      "r136",
      "r148",
      "r149",
      "r150",
      "r253"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by business segments.",
        "label": "Segments [Axis]",
        "terseLabel": "Segments"
       }
      }
     },
     "localname": "StatementBusinessSegmentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DeferredRevenueandPerformanceObligationsDeferredRevenueDetails",
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails",
      "http://www.tylertech.com/role/SegmentandRelatedInformationAdditionalInformationDetail",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "auth_ref": [
      "r36",
      "r158"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by component of equity.",
        "label": "Equity Components [Axis]",
        "terseLabel": "Statement Equity Components"
       }
      }
     },
     "localname": "StatementEquityComponentsAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementLineItems": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Statement [Line Items]",
        "terseLabel": "Statement [Line Items]"
       }
      }
     },
     "localname": "StatementLineItems",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Statement of Cash Flows [Abstract]",
        "terseLabel": "Statement of Cash Flows [Abstract]"
       }
      }
     },
     "localname": "StatementOfCashFlowsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Statement of Financial Position [Abstract]",
        "terseLabel": "Statement of Financial Position [Abstract]"
       }
      }
     },
     "localname": "StatementOfFinancialPositionAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Statement of Stockholders' Equity [Abstract]",
        "terseLabel": "Statement of Stockholders' Equity [Abstract]"
       }
      }
     },
     "localname": "StatementOfStockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_StatementTable": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.",
        "label": "Statement [Table]",
        "terseLabel": "Statement [Table]"
       }
      }
     },
     "localname": "StatementTable",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": {
     "auth_ref": [
      "r14",
      "r15",
      "r158",
      "r159"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan.",
        "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans",
        "terseLabel": "Issuance of shares pursuant to employee stock purchase plan (in shares)",
        "verboseLabel": "Employee stock plan purchases (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY",
      "http://www.tylertech.com/role/ShareholdersEquitySummaryofActivitiesinCommonStockDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": {
     "auth_ref": [
      "r14",
      "r15",
      "r158",
      "r159"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).",
        "label": "Shares Issued, Shares, Share-based Payment Arrangement, after Forfeiture",
        "terseLabel": "Exercise of stock options and vesting of restricted stock units (in shares)",
        "verboseLabel": "Stock option exercises (in shares)"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY",
      "http://www.tylertech.com/role/ShareholdersEquitySummaryofActivitiesinCommonStockDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": {
     "auth_ref": [
      "r14",
      "r15",
      "r158",
      "r159"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.",
        "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan",
        "terseLabel": "Issuance of shares pursuant to employee stock purchase plan",
        "verboseLabel": "Employee stock plan purchases"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY",
      "http://www.tylertech.com/role/ShareholdersEquitySummaryofActivitiesinCommonStockDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueShareBasedCompensation": {
     "auth_ref": [
      "r14",
      "r15",
      "r159",
      "r178",
      "r179"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Value, after forfeiture, of shares issued under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).",
        "label": "Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture",
        "terseLabel": "Exercise of stock options and vesting of restricted stock units"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueShareBasedCompensation",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "auth_ref": [
      "r36",
      "r158",
      "r159"
     ],
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Value of stock issued as a result of the exercise of stock options.",
        "label": "Stock Issued During Period, Value, Stock Options Exercised",
        "terseLabel": "Stock option exercises"
       }
      }
     },
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/ShareholdersEquitySummaryofActivitiesinCommonStockDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The number of shares authorized to be repurchased by an entity's Board of Directors under a stock repurchase plan.",
        "label": "Stock Repurchase Program, Number of Shares Authorized to be Repurchased",
        "terseLabel": "Number of shares authorized to be repurchased (in shares)"
       }
      }
     },
     "localname": "StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/ShareholdersEquityAdditionalInformationDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_StockholdersEquity": {
     "auth_ref": [
      "r15",
      "r19",
      "r20",
      "r123"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.",
        "label": "Stockholders' Equity Attributable to Parent",
        "periodEndLabel": "Balance",
        "periodStartLabel": "Balance",
        "totalLabel": "Total shareholders' equity"
       }
      }
     },
     "localname": "StockholdersEquity",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS",
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_StockholdersEquityAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Stockholders' Equity Attributable to Parent [Abstract]",
        "terseLabel": "Shareholders' equity:"
       }
      }
     },
     "localname": "StockholdersEquityAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "auth_ref": [
      "r162"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.",
        "label": "Stockholders' Equity Note Disclosure [Text Block]",
        "terseLabel": "Shareholders' Equity"
       }
      }
     },
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/ShareholdersEquity"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_SubscriptionAndCirculationMember": {
     "auth_ref": [
      "r172"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Right to receive or access periodic material for specified period of time.",
        "label": "Subscription and Circulation [Member]",
        "terseLabel": "Subscriptions",
        "verboseLabel": "Subscriptions"
       }
      }
     },
     "localname": "SubscriptionAndCirculationMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_SubsequentEventsAbstract": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "label": "Subsequent Events [Abstract]",
        "terseLabel": "Subsequent Events [Abstract]"
       }
      }
     },
     "localname": "SubsequentEventsAbstract",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "xbrltype": "stringItemType"
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "auth_ref": [
      "r226"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.",
        "label": "Subsequent Events [Text Block]",
        "terseLabel": "Subsequent Events"
       }
      }
     },
     "localname": "SubsequentEventsTextBlock",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/SubsequentEvents"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_TaxesPayableCurrent": {
     "auth_ref": [
      "r29"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 5.0,
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0
      }
     },
     "crdr": "credit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).",
        "label": "Taxes Payable, Current",
        "terseLabel": "Current income tax payable"
       }
      }
     },
     "localname": "TaxesPayableCurrent",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TechnologyServiceMember": {
     "auth_ref": [
      "r172"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Technology assistance, including but not limited to, training, installation, engineering, and software design.",
        "label": "Technology Service [Member]",
        "terseLabel": "Software services"
       }
      }
     },
     "localname": "TechnologyServiceMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDSTATEMENTSOFINCOME",
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails",
      "http://www.tylertech.com/role/SegmentandRelatedInformationScheduleofSegmentRevenuesandOperationsDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceAxis": {
     "auth_ref": [
      "r174"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by timing of transfer of good or service to customer.",
        "label": "Timing of Transfer of Good or Service [Axis]",
        "terseLabel": "Timing of Transfer of Good or Service [Axis]"
       }
      }
     },
     "localname": "TimingOfTransferOfGoodOrServiceAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time.",
        "label": "Timing of Transfer of Good or Service [Domain]",
        "terseLabel": "Timing of Transfer of Good or Service [Domain]"
       }
      }
     },
     "localname": "TimingOfTransferOfGoodOrServiceDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TransferredAtPointInTimeMember": {
     "auth_ref": [
      "r174"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Contract with customer in which good or service is transferred at point in time.",
        "label": "Transferred at Point in Time [Member]",
        "terseLabel": "Products and services transferred at a point in time"
       }
      }
     },
     "localname": "TransferredAtPointInTimeMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TransferredOverTimeMember": {
     "auth_ref": [
      "r174"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Contract with customer in which good or service is transferred over time.",
        "label": "Transferred over Time [Member]",
        "terseLabel": "Products and services transferred over time"
       }
      }
     },
     "localname": "TransferredOverTimeMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/DisaggregationofRevenueDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockMember": {
     "auth_ref": [
      "r35",
      "r160"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.",
        "label": "Treasury Stock [Member]",
        "terseLabel": "Treasury Stock"
       }
      }
     },
     "localname": "TreasuryStockMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_TreasuryStockShares": {
     "auth_ref": [
      "r35",
      "r160"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of common and preferred shares that were previously issued and that were repurchased by the issuing entity and held in treasury on the financial statement date. This stock has no voting rights and receives no dividends.",
        "label": "Treasury Stock, Shares",
        "terseLabel": "Treasury stock (shares)"
       }
      }
     },
     "localname": "TreasuryStockShares",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockSharesAcquired": {
     "auth_ref": [
      "r15",
      "r158",
      "r159"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of shares that have been repurchased during the period and are being held in treasury.",
        "label": "Treasury Stock, Shares, Acquired",
        "negatedLabel": "Treasury stock purchases (in shares)",
        "negatedTerseLabel": "Purchases of treasury (in shares)"
       }
      }
     },
     "localname": "TreasuryStockSharesAcquired",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY",
      "http://www.tylertech.com/role/ShareholdersEquitySummaryofActivitiesinCommonStockDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_TreasuryStockValue": {
     "auth_ref": [
      "r35",
      "r160",
      "r161"
     ],
     "calculation": {
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS": {
       "order": 6.0,
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.",
        "label": "Treasury Stock, Value",
        "negatedLabel": "Treasury stock, at cost; 8,397,086 and 8,839,352 shares in 2020 and 2019, respectively"
       }
      }
     },
     "localname": "TreasuryStockValue",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONDENSEDCONSOLIDATEDBALANCESHEETS"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_TreasuryStockValueAcquiredCostMethod": {
     "auth_ref": [
      "r158",
      "r159",
      "r160"
     ],
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method.",
        "label": "Treasury Stock, Value, Acquired, Cost Method",
        "negatedLabel": "Treasury stock purchases",
        "negatedTerseLabel": "Purchases of treasury shares"
       }
      }
     },
     "localname": "TreasuryStockValueAcquiredCostMethod",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/CONSOLIDATEDSTATEMENTSOFSHAREHOLDERSEQUITY",
      "http://www.tylertech.com/role/ShareholdersEquitySummaryofActivitiesinCommonStockDetail"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_UnbilledRevenuesMember": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Unbilled amounts due for services rendered or products shipped. This element is distinct from unbilled contracts receivables because this is based on noncontract transactions.",
        "label": "Unbilled Revenues [Member]",
        "terseLabel": "Unbilled Revenues"
       }
      }
     },
     "localname": "UnbilledRevenuesMember",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_UseOfEstimates": {
     "auth_ref": [
      "r98",
      "r99",
      "r100",
      "r101",
      "r102",
      "r103",
      "r104"
     ],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.",
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "terseLabel": "Use of estimates"
       }
      }
     },
     "localname": "UseOfEstimates",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/AccountingStandardsandSignificantAccountingPoliciesPolicies"
     ],
     "xbrltype": "textBlockItemType"
    },
    "us-gaap_VariableLeaseCost": {
     "auth_ref": [
      "r213",
      "r220"
     ],
     "calculation": {
      "http://www.tylertech.com/role/LeasesScheduleofleasecostDetails": {
       "order": 3.0,
       "parentTag": "us-gaap_LeaseCost",
       "weight": 1.0
      }
     },
     "crdr": "debit",
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.",
        "label": "Variable Lease, Cost",
        "terseLabel": "Variable lease cost"
       }
      }
     },
     "localname": "VariableLeaseCost",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/LeasesScheduleofleasecostDetails"
     ],
     "xbrltype": "monetaryItemType"
    },
    "us-gaap_VariableRateAxis": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Information by type of variable rate.",
        "label": "Variable Rate [Axis]",
        "terseLabel": "Variable Rate"
       }
      }
     },
     "localname": "VariableRateAxis",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "stringItemType"
    },
    "us-gaap_VariableRateDomain": {
     "auth_ref": [],
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index.",
        "label": "Variable Rate [Domain]",
        "terseLabel": "Variable Rate"
       }
      }
     },
     "localname": "VariableRateDomain",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/RevolvingLineofCreditDetail"
     ],
     "xbrltype": "domainItemType"
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "auth_ref": [
      "r87",
      "r92"
     ],
     "calculation": {
      "http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail": {
       "order": null,
       "parentTag": null,
       "root": true,
       "weight": null
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "totalLabel": "Denominator for diluted earnings per share - Adjusted weighted-average shares (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail"
     ],
     "xbrltype": "sharesItemType"
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "auth_ref": [
      "r86",
      "r92"
     ],
     "calculation": {
      "http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail": {
       "order": 1.0,
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0
      }
     },
     "lang": {
      "en-US": {
       "role": {
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "terseLabel": "Weighted-average basic common shares outstanding (in shares)"
       }
      }
     },
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "nsuri": "http://fasb.org/us-gaap/2019-01-31",
     "presentation": [
      "http://www.tylertech.com/role/EarningsPerShareComputationofBasicEarningsandDilutedEarningsPerShareDataDetail"
     ],
     "xbrltype": "sharesItemType"
    }
   },
   "unitCount": 7
  }
 },
 "std_ref": {
  "r0": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "205",
   "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760"
  },
  "r1": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "205",
   "URI": "http://asc.fasb.org/topic&trid=2122149"
  },
  "r10": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(19))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r100": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592"
  },
  "r101": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592"
  },
  "r102": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592"
  },
  "r103": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592"
  },
  "r104": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592"
  },
  "r105": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "21",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8721-108599"
  },
  "r106": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r107": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r108": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r109": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "22",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8736-108599"
  },
  "r11": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(2))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r110": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8813-108599"
  },
  "r111": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8906-108599"
  },
  "r112": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "30",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8906-108599"
  },
  "r113": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "31",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8924-108599"
  },
  "r114": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "32",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8933-108599"
  },
  "r115": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e8475-108599"
  },
  "r116": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9031-108599"
  },
  "r117": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "42",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "280",
   "URI": "http://asc.fasb.org/extlink&oid=115929826&loc=d3e9054-108599"
  },
  "r118": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "280",
   "URI": "http://asc.fasb.org/topic&trid=2134510"
  },
  "r119": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=118952595&loc=d3e4428-111522"
  },
  "r12": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(20))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r120": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=118952595&loc=d3e4531-111522"
  },
  "r121": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=118936363&loc=d3e5074-111524"
  },
  "r122": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=118936363&loc=d3e5144-111524"
  },
  "r123": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 4.E)",
   "Topic": "310",
   "URI": "http://asc.fasb.org/extlink&oid=27010918&loc=d3e74512-122707"
  },
  "r124": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "320",
   "URI": "http://asc.fasb.org/extlink&oid=118954083&loc=d3e26853-111562"
  },
  "r125": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(1)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r126": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)(b)",
   "Topic": "323",
   "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571"
  },
  "r127": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=118955202&loc=SL82895884-210446"
  },
  "r128": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919249-210447"
  },
  "r129": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(f)",
   "Topic": "326",
   "URI": "http://asc.fasb.org/extlink&oid=119407570&loc=SL82919249-210447"
  },
  "r13": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(22))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r130": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "30",
   "SubTopic": "10",
   "Topic": "330",
   "URI": "http://asc.fasb.org/extlink&oid=68048583&loc=d3e3636-108311"
  },
  "r131": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "05",
   "SubTopic": "10",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=68074540&loc=d3e5879-108316"
  },
  "r132": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=68051541&loc=SL49131252-203054"
  },
  "r133": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Subparagraph": "(b)",
   "Topic": "340",
   "URI": "http://asc.fasb.org/extlink&oid=68051541&loc=SL49131252-203054"
  },
  "r134": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13770-109266"
  },
  "r135": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=77989000&loc=SL49117168-202975"
  },
  "r136": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=108376223&loc=d3e13816-109267"
  },
  "r137": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274"
  },
  "r138": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274"
  },
  "r139": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r14": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(28))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r140": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275"
  },
  "r141": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "((a)(1),(b))",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r142": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r143": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(1)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r144": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(2)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r145": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(d)",
   "Topic": "350",
   "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275"
  },
  "r146": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229"
  },
  "r147": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r148": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "360",
   "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230"
  },
  "r149": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869"
  },
  "r15": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(29))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r150": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 5.P.4(d))",
   "Topic": "420",
   "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747"
  },
  "r151": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "440",
   "URI": "http://asc.fasb.org/topic&trid=2144648"
  },
  "r152": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "450",
   "URI": "http://asc.fasb.org/extlink&oid=118942415&loc=d3e14326-108349"
  },
  "r153": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "450",
   "URI": "http://asc.fasb.org/topic&trid=2127136"
  },
  "r154": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=99376301&loc=d3e1314-112600"
  },
  "r155": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=99376301&loc=d3e1336-112600"
  },
  "r156": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "470",
   "URI": "http://asc.fasb.org/extlink&oid=109500613&loc=SL6036836-161870"
  },
  "r157": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "470",
   "URI": "http://asc.fasb.org/topic&trid=2208564"
  },
  "r158": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21463-112644"
  },
  "r159": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.3-04)",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=27012166&loc=d3e187085-122770"
  },
  "r16": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r160": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655"
  },
  "r161": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "505",
   "URI": "http://asc.fasb.org/extlink&oid=6405834&loc=d3e23315-112656"
  },
  "r162": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "505",
   "URI": "http://asc.fasb.org/topic&trid=2208762"
  },
  "r163": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118944033&loc=SL49130531-203044"
  },
  "r164": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118944033&loc=SL49130532-203044"
  },
  "r165": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130551-203045"
  },
  "r166": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130556-203045"
  },
  "r167": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)(1)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130556-203045"
  },
  "r168": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130543-203045"
  },
  "r169": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130545-203045"
  },
  "r17": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r170": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130549-203045"
  },
  "r171": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118956577&loc=SL49130549-203045"
  },
  "r172": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118944142&loc=SL49130690-203046-203046"
  },
  "r173": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118944142&loc=SL49130690-203046-203046"
  },
  "r174": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "91",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "606",
   "URI": "http://asc.fasb.org/extlink&oid=118944142&loc=SL49130690-203046-203046"
  },
  "r175": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "606",
   "URI": "http://asc.fasb.org/topic&trid=49130388"
  },
  "r176": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "10",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116855982&loc=d3e4534-113899"
  },
  "r177": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5047-113901"
  },
  "r178": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5047-113901"
  },
  "r179": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(d)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r18": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r180": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r181": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(h)(1)(i)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=d3e5070-113901"
  },
  "r182": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=116856206&loc=SL79508275-113901"
  },
  "r183": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 14.F)",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809"
  },
  "r184": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=118258462&loc=d3e11149-113907"
  },
  "r185": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=118258462&loc=d3e11178-113907"
  },
  "r186": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "35",
   "SubTopic": "740",
   "Topic": "718",
   "URI": "http://asc.fasb.org/extlink&oid=117330312&loc=d3e23163-113944"
  },
  "r187": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "718",
   "URI": "http://asc.fasb.org/topic&trid=2228938"
  },
  "r188": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116821951&loc=d3e31931-109318"
  },
  "r189": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32687-109319"
  },
  "r19": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(30))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r190": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32698-109319"
  },
  "r191": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32537-109319"
  },
  "r192": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "9",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319"
  },
  "r193": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB TOPIC 6.I)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r194": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817"
  },
  "r195": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "740",
   "URI": "http://asc.fasb.org/extlink&oid=109238882&loc=d3e38679-109324"
  },
  "r196": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "740",
   "URI": "http://asc.fasb.org/topic&trid=2144680"
  },
  "r197": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463"
  },
  "r198": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "805",
   "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463"
  },
  "r199": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "805",
   "URI": "http://asc.fasb.org/topic&trid=2303972"
  },
  "r2": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765"
  },
  "r20": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(31))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r200": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c),(3)",
   "Topic": "810",
   "URI": "http://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684"
  },
  "r201": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "810",
   "URI": "http://asc.fasb.org/topic&trid=2197479"
  },
  "r202": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "230",
   "Topic": "830",
   "URI": "http://asc.fasb.org/extlink&oid=98513438&loc=d3e33268-110906"
  },
  "r203": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "30",
   "Topic": "835",
   "URI": "http://asc.fasb.org/extlink&oid=114775744&loc=d3e28551-108399"
  },
  "r204": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "Note 1",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=82846649&loc=d3e38371-112697"
  },
  "r205": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "40",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Subparagraph": "Note 3",
   "Topic": "840",
   "URI": "http://asc.fasb.org/extlink&oid=82846649&loc=d3e38371-112697"
  },
  "r206": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(a)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918627-209977"
  },
  "r207": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918627-209977"
  },
  "r208": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888419&loc=SL77918643-209977"
  },
  "r209": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(a)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918673-209980"
  },
  "r21": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(32))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r210": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918673-209980"
  },
  "r211": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r212": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(c)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r213": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(d)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r214": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(1)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r215": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(2)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r216": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r217": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(g)(4)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r218": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918686-209980"
  },
  "r219": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888426&loc=SL77918701-209980"
  },
  "r22": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r220": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "53",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=77888399&loc=SL77918982-209971"
  },
  "r221": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "20",
   "Topic": "842",
   "URI": "http://asc.fasb.org/subtopic&trid=77888251"
  },
  "r222": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=119202524&loc=SL77919396-209981"
  },
  "r223": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Subparagraph": "(a)(3)",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=119202524&loc=SL77919359-209981"
  },
  "r224": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "5",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "30",
   "Topic": "842",
   "URI": "http://asc.fasb.org/extlink&oid=119202524&loc=SL77919372-209981"
  },
  "r225": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "SubTopic": "30",
   "Topic": "842",
   "URI": "http://asc.fasb.org/subtopic&trid=77888252"
  },
  "r226": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "855",
   "URI": "http://asc.fasb.org/topic&trid=2122774"
  },
  "r227": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "340",
   "Topic": "928",
   "URI": "http://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004"
  },
  "r228": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "25",
   "SubTopic": "20",
   "Topic": "940",
   "URI": "http://asc.fasb.org/extlink&oid=68072869&loc=d3e41242-110953"
  },
  "r229": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(11))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r23": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(4))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r230": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(13))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r231": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(16))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r232": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r233": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(4))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r234": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(5))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r235": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(6))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r236": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03(9))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r237": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.9-03.17)",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=6876686&loc=d3e534808-122878"
  },
  "r238": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(15))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260"
  },
  "r239": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(22))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260"
  },
  "r24": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(8))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r240": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.9-04(23))",
   "Topic": "942",
   "URI": "http://asc.fasb.org/extlink&oid=116637391&loc=SL114874048-224260"
  },
  "r241": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(10))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r242": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(16))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r243": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(5))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r244": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(1)(g))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r245": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r246": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r247": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r248": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r249": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "210",
   "Subparagraph": "(SX 210.7-03.(a),19)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=119400593&loc=d3e572229-122910"
  },
  "r25": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.1)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r250": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(18))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116637232&loc=SL114874131-224263"
  },
  "r251": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(19))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116637232&loc=SL114874131-224263"
  },
  "r252": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "220",
   "Subparagraph": "(SX 210.7-04(8))",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116637232&loc=SL114874131-224263"
  },
  "r253": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4H",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "40",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438"
  },
  "r254": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(a)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=117419784&loc=SL117783719-158441"
  },
  "r255": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13H",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "40",
   "Subparagraph": "(c)",
   "Topic": "944",
   "URI": "http://asc.fasb.org/extlink&oid=117419784&loc=SL117783719-158441"
  },
  "r256": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "20",
   "Subparagraph": "(b)",
   "Topic": "985",
   "URI": "http://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756"
  },
  "r257": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b"
  },
  "r258": {
   "Name": "Exchange Act",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r259": {
   "Name": "Form 10-Q",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-13"
  },
  "r26": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r260": {
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "13",
   "Subsection": "a-1-"
  },
  "r261": {
   "Name": "Regulation 12B",
   "Number": "240",
   "Publisher": "SEC",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r262": {
   "Name": "Regulation S-T",
   "Number": "232",
   "Publisher": "SEC",
   "Section": "405"
  },
  "r27": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r28": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r29": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.19,20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r3": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765"
  },
  "r30": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.20)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r31": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.21)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r32": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r33": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.22)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r34": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.25)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r35": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r36": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r37": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.3,4)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r38": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.8)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r39": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02.9)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r4": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(g)",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765"
  },
  "r40": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669646-108580"
  },
  "r41": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=d3e637-108580"
  },
  "r42": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=d3e681-108580"
  },
  "r43": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669686-108580"
  },
  "r44": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "17B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL34724394-108580"
  },
  "r45": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669619-108580"
  },
  "r46": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=118930883&loc=SL7669625-108580"
  },
  "r47": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(10))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r48": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(20))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r49": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03(21))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r5": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6676-107765"
  },
  "r50": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r51": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.2(a),(d))",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r52": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.4)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r53": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.7)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r54": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-03.9)",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r55": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Topic": "220",
   "URI": "http://asc.fasb.org/extlink&oid=116634182&loc=SL114868664-224227"
  },
  "r56": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3179-108585"
  },
  "r57": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "12",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3179-108585"
  },
  "r58": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3213-108585"
  },
  "r59": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3213-108585"
  },
  "r6": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6787-107765"
  },
  "r60": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3213-108585"
  },
  "r61": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "13",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3213-108585"
  },
  "r62": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3255-108585"
  },
  "r63": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "14",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3255-108585"
  },
  "r64": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3291-108585"
  },
  "r65": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "15",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3291-108585"
  },
  "r66": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "24",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3521-108585"
  },
  "r67": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(f)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3536-108585"
  },
  "r68": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "25",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3536-108585"
  },
  "r69": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585"
  },
  "r7": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=118951113&loc=d3e6801-107765"
  },
  "r70": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585"
  },
  "r71": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3602-108585"
  },
  "r72": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=118932676&loc=d3e3044-108585"
  },
  "r73": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=d3e4297-108586"
  },
  "r74": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "8",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "230",
   "URI": "http://asc.fasb.org/extlink&oid=98513485&loc=SL98516268-108586"
  },
  "r75": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790"
  },
  "r76": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "4",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(e)",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18823-107790"
  },
  "r77": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08(h))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r78": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(e),(f))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r79": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(f))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r8": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(13))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r80": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.4-08.(h)(2))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e23780-122690"
  },
  "r81": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.12-04(a))",
   "Topic": "235",
   "URI": "http://asc.fasb.org/extlink&oid=26873400&loc=d3e24072-122690"
  },
  "r82": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "235",
   "URI": "http://asc.fasb.org/topic&trid=2122369"
  },
  "r83": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794"
  },
  "r84": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "11",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794"
  },
  "r85": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "3",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "250",
   "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22583-107794"
  },
  "r86": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "10",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1448-109256"
  },
  "r87": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "16",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1505-109256"
  },
  "r88": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1252-109256"
  },
  "r89": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1500-109256"
  },
  "r9": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "S99",
   "SubTopic": "10",
   "Subparagraph": "(SX 210.5-02(14))",
   "Topic": "210",
   "URI": "http://asc.fasb.org/extlink&oid=6877327&loc=d3e13212-122682"
  },
  "r90": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "60B",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Subparagraph": "(d)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=SL5780133-109256"
  },
  "r91": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "7",
   "Publisher": "FASB",
   "Section": "45",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117326831&loc=d3e1337-109256"
  },
  "r92": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(a)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r93": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r94": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257"
  },
  "r95": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "52",
   "Publisher": "FASB",
   "Section": "55",
   "SubTopic": "10",
   "Topic": "260",
   "URI": "http://asc.fasb.org/extlink&oid=117327953&loc=d3e4984-109258"
  },
  "r96": {
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "Topic": "260",
   "URI": "http://asc.fasb.org/topic&trid=2144383"
  },
  "r97": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Topic": "270",
   "URI": "http://asc.fasb.org/extlink&oid=118952077&loc=SL77927221-108306"
  },
  "r98": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(b)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  },
  "r99": {
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Publisher": "FASB",
   "Section": "50",
   "SubTopic": "10",
   "Subparagraph": "(c)",
   "Topic": "275",
   "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592"
  }
 },
 "version": "2.1"
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6799415008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Share-Based Compensation<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Share-Based Compensation</a></td>
<td class="text">Share-Based Compensation<div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table summarizes share-based compensation expense related to share-based awards recorded in the condensed consolidated statements of income, pursuant to ASC 718, </span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Stock Compensation</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">:</span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:65.935%;"><tr><td style="width:1.0%;"/><td style="width:62.745%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.908%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.855%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:2.460%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:14.632%;"/><td style="width:1.0%;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cost of software services, maintenance and subscriptions</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,252&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,798&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Selling, general and administrative expenses</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">13,050&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10,618&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total share-based compensation expense</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">17,302&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,416&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -URI http://asc.fasb.org/topic&amp;trid=2228938<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6603564208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revolving Line of Credit<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Debt Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">Revolving Line of Credit</a></td>
<td class="text">Revolving Line of Credit<div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">On September 30, 2019, we entered into a $400 million credit agreement with various lender parties and Wells Fargo Bank, National Association, as Administrative Agent (the &#8220;Credit Facility&#8221;). The Credit Facility provides for a revolving credit line up to $400 million, including a $25 million sublimit for letters of credit. The Credit Facility matures on September&#160;30, 2024. </span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Borrowings under the Credit Facility bear interest at a rate of either (1) Wells Fargo Bank&#8217;s prime rate (subject to certain higher rate determinations) plus a margin of 0.125% to 0.75% or (2) the one-, two-, three-, or six-month LIBOR rate plus a margin of 1.125% to 1.75%. As of March&#160;31, 2020, the interest rates were 3.38% under the Wells Fargo Bank's prime rate and approximately 2.12% under the 30-day LIBOR option. The Credit Facility requires us to maintain certain financial ratios and other financial conditions and prohibits us from making certain investments, advances, cash dividends or loans, and limits incurrence of additional indebtedness and liens. As of March&#160;31, 2020, we were in compliance with those covenants.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of March&#160;31, 2020, we had no outstanding borrowings under the Credit Facility, and available borrowing capacity was $400.0 million.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -URI http://asc.fasb.org/topic&amp;trid=2208564<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6799329152">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Deferred Revenue and Performance Obligations - Additional Information (Details)<br> $ in Billions</strong></div></th>
<th class="th">
<div>Mar. 31, 2020 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Remaining performance obligations</a></td>
<td class="nump">$ 1.5<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2020-04-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-04-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems', window );"><strong>Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationPercentage', window );">Revenue, remaining performance obligation, percentage</a></td>
<td class="nump">48.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Expected timing of satisfaction period</a></td>
<td class="text">12 months<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130556-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2020-04-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2020-04-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6800688400">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment and Related Information - Reconciliation of Operating Income from Segments to Consolidated (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Total segment operating income</a></td>
<td class="nump">$ 33,893<span></span>
</td>
<td class="nump">$ 34,491<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income, net</a></td>
<td class="nump">990<span></span>
</td>
<td class="nump">586<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before income taxes</a></td>
<td class="nump">34,883<span></span>
</td>
<td class="nump">35,077<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=tyl_OperatingSegmentsAndCorporateNonSegmentMember', window );">Operating segment and corporate non-segment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Total segment operating income</a></td>
<td class="nump">47,312<span></span>
</td>
<td class="nump">46,023<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_MaterialReconcilingItemsMember', window );">Segment reconciling items</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income, net</a></td>
<td class="nump">990<span></span>
</td>
<td class="nump">586<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_MaterialReconcilingItemsMember', window );">Segment reconciling items | Acquired software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangibles assets</a></td>
<td class="num">(8,027)<span></span>
</td>
<td class="num">(6,682)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_MaterialReconcilingItemsMember', window );">Segment reconciling items | Customer and trade name</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangibles assets</a></td>
<td class="num">$ (5,392)<span></span>
</td>
<td class="num">$ (4,850)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16225-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 940<br> -SubTopic 20<br> -Section 25<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=68072869&amp;loc=d3e41242-110953<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=tyl_OperatingSegmentsAndCorporateNonSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=tyl_OperatingSegmentsAndCorporateNonSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_MaterialReconcilingItemsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_MaterialReconcilingItemsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=tyl_AcquiredSoftwareMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=tyl_AcquiredSoftwareMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=tyl_CustomerListsAndTradeNameMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=tyl_CustomerListsAndTradeNameMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6819931168">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accounting Standards and Significant Accounting Policies - Additional Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>New Accounting Pronouncements or Change in Accounting Principle</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_RecurringRevenuePercentageOfTotalRevenue', window );">Recurring revenue percentage of total revenue (percent)</a></td>
<td class="nump">71.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsAndShortTermInvestments', window );">Cash and investments</a></td>
<td class="nump">$ 392,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNet', window );">Accounts receivable, net</a></td>
<td class="nump">339,500<span></span>
</td>
<td class="nump">$ 396,500<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivable', window );">Allowance for losses</a></td>
<td class="nump">6,500<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis=us-gaap_UnbilledRevenuesMember', window );">Unbilled Revenues</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>New Accounting Pronouncements or Change in Accounting Principle</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNet', window );">Accounts receivable, net</a></td>
<td class="nump">134,500<span></span>
</td>
<td class="nump">134,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=tyl_RetentionReceivableMember', window );">Retention Receivable | Unbilled Revenues</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>New Accounting Pronouncements or Change in Accounting Principle</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNet', window );">Accounts receivable, net</a></td>
<td class="nump">12,500<span></span>
</td>
<td class="nump">$ 13,100<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember', window );">Revolving Credit Facility | Credit Agreement</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems', window );"><strong>New Accounting Pronouncements or Change in Accounting Principle</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Line of credit facility, unused borrowing capacity</a></td>
<td class="nump">$ 400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tyl_RecurringRevenuePercentageOfTotalRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Recurring Revenue Percentage of Total Revenue</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tyl_RecurringRevenuePercentageOfTotalRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tyl_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=119407570&amp;loc=SL82919249-210447<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118936363&amp;loc=d3e5074-111524<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (f)<br> -URI http://asc.fasb.org/extlink&amp;oid=119407570&amp;loc=SL82919249-210447<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 326<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118955202&amp;loc=SL82895884-210446<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsAndShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Cash includes currency on hand as well as demand deposits with banks or financial institutions. It also includes other kinds of accounts that have the general characteristics of demand deposits in that the customer may deposit additional funds at any time and effectively may withdraw funds at any time without prior notice or penalty. Cash equivalents, excluding items classified as marketable securities, include short-term, highly liquid Investments that are both readily convertible to known amounts of cash, and so near their maturity that they present minimal risk of changes in value because of changes in interest rates. Generally, only investments with original maturities of three months or less qualify under that definition. Original maturity means original maturity to the entity holding the investment. For example, both a three-month US Treasury bill and a three-year Treasury note purchased three months from maturity qualify as cash equivalents. However, a Treasury note purchased three years ago does not become a cash equivalent when its remaining maturity is three months. Short-term investments, exclusive of cash equivalents, generally consist of marketable securities intended to be sold within one year (or the normal operating cycle if longer) and may include trading securities, available-for-sale securities, or held-to-maturity securities (if maturing within one year), as applicable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsAndShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis=us-gaap_UnbilledRevenuesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis=us-gaap_UnbilledRevenuesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=tyl_RetentionReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis=tyl_RetentionReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CreditFacilityAxis=us-gaap_RevolvingCreditFacilityMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=tyl_CreditAgreementMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=tyl_CreditAgreementMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6910154272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Deferred Commissions (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostLineItems', window );"><strong>Capitalized Contract Cost</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostNet', window );">Deferred commissions</a></td>
<td class="nump">$ 30,900,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 29,800,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostAmortization', window );">Deferred commissions amortization</a></td>
<td class="nump">3,900,000<span></span>
</td>
<td class="nump">$ 3,800,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostImpairmentLoss', window );">Deferred commissions impairment</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostLineItems', window );"><strong>Capitalized Contract Cost</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_SalesCommissionsAmortizationPeriod', window );">Sales commissions amortization period</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CapitalizedContractCostLineItems', window );"><strong>Capitalized Contract Cost</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_SalesCommissionsAmortizationPeriod', window );">Sales commissions amortization period</a></td>
<td class="text">7 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tyl_SalesCommissionsAmortizationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sales Commissions Amortization Period</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tyl_SalesCommissionsAmortizationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tyl_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=68051541&amp;loc=SL49131252-203054<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of impairment loss for asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=68051541&amp;loc=SL49131252-203054<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalizedContractCostNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 40<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=68051541&amp;loc=SL49131252-203054<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalizedContractCostNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6911034688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings Per Share - Computation of Basic Earnings and Diluted Earnings Per Share Data (Detail) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_NumeratorofBasicandDilutedEarningsPerShareAbstract', window );"><strong>Numerator for basic and diluted earnings per share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net income</a></td>
<td class="nump">$ 47,550<span></span>
</td>
<td class="nump">$ 27,348<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_DenominatorAbstract', window );"><strong>Denominator:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted-average basic common shares outstanding (in shares)</a></td>
<td class="nump">39,500<span></span>
</td>
<td class="nump">38,308<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_tyl_AssumedConversionofDilutiveSecuritiesAbstract', window );"><strong>Assumed conversion of dilutive securities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Stock awards (in shares)</a></td>
<td class="nump">1,644<span></span>
</td>
<td class="nump">1,277<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Denominator for diluted earnings per share - Adjusted weighted-average shares (in shares)</a></td>
<td class="nump">41,144<span></span>
</td>
<td class="nump">39,585<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAndDilutedAbstract', window );"><strong>Earnings per common share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (usd per share)</a></td>
<td class="nump">$ 1.20<span></span>
</td>
<td class="nump">$ 0.71<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (usd per share)</a></td>
<td class="nump">$ 1.16<span></span>
</td>
<td class="nump">$ 0.69<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tyl_AssumedConversionofDilutiveSecuritiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Assumed Conversion of Dilutive Securities [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tyl_AssumedConversionofDilutiveSecuritiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tyl_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tyl_DenominatorAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Denominator [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tyl_DenominatorAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tyl_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tyl_NumeratorofBasicandDilutedEarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Numerator of Basic and Diluted Earnings Per Share [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tyl_NumeratorofBasicandDilutedEarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tyl_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1337-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=117327953&amp;loc=d3e4984-109258<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1252-109256<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=SL5780133-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasicAndDilutedAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasicAndDilutedAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 55<br> -Paragraph 52<br> -URI http://asc.fasb.org/extlink&amp;oid=117327953&amp;loc=d3e4984-109258<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1252-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=109234566&amp;loc=d3e22694-107794<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1337-109256<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(21))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=SL5780133-109256<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>num:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28A<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1500-109256<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669619-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637391&amp;loc=SL114874048-224260<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669625-108580<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 220<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=116637232&amp;loc=SL114874131-224263<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 28<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3602-108585<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1505-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10<br> -URI http://asc.fasb.org/extlink&amp;oid=117326831&amp;loc=d3e1448-109256<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=6371337&amp;loc=d3e3550-109257<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6806227104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Leases</a></td>
<td class="text">Leases<div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We lease office facilities for use in our operations, as well as transportation and other equipment.&#160;Most of our leases are non-cancelable operating lease agreements and they expire from one year to eight years.&#160;Some of these leases include options to extend for up to 10 years. We had&#160;no finance leases and no related party lease agreements as of March&#160;31, 2020. Operating lease costs were approximately $2.6 million for the three months ended March&#160;31, 2020, and $2.1 million for the three months ended March&#160;31, 2019. </span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The components of operating lease expense were as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:88.157%;"><tr><td style="width:1.0%;"/><td style="width:19.061%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.629%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:41.117%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.629%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:14.749%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.463%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:14.752%;"/><td style="width:1.0%;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Lease Costs</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Financial Statement Classification</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating lease cost</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Selling, general and administrative expenses</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,666&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,370&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Short-term lease cost</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Selling, general and administrative expenses</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">574&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">570&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Variable lease cost</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Selling, general and administrative expenses</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">394&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">163&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net lease cost</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,634&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,103&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/></tr></table></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of March&#160;31, 2020, Right-of-use ("ROU") lease assets and lease liabilities for our operating leases were recorded in the condensed consolidated balance sheet as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:80.555%;"><tr><td style="width:1.0%;"/><td style="width:56.257%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.707%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:16.693%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.070%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:18.873%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;">Assets:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating lease right-of-use assets</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">17,992&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18,992&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;">Liabilities:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating leases, short-term</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,373&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,387&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating leases, long-term</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">15,548&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">16,822&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total lease liabilities</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21,921&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">23,209&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Supplemental information related to leases was as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:85.672%;"><tr><td style="width:1.0%;"/><td style="width:59.945%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.653%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.918%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.165%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.919%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other Information</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration: underline;">Cash flows</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;">:</span></div></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cash paid amounts included in the measurement of lease liabilities:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating cash outflows from operating leases</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,873&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,530&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Right-of-use assets obtained in exchange for lease obligations (non-cash):</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating leases</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">457&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">431&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;">Lease term and discount rate:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted average remaining lease term (years)</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted average discount rate</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4.00&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4.00&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr></table></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of&#160;March&#160;31, 2020, maturities of lease liabilities were as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:69.590%;"><tr><td style="width:1.0%;"/><td style="width:69.428%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.270%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:25.102%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Year ending December 31,</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020 (Remaining 2020)</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,845&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2021</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,340&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2022</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,021&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2023</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,989&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2024</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,545&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,133&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total lease payments</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">23,873&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Less: Interest</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1,952)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Present value of operating lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21,921&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="margin-top:18pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Rental Income from third parties</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We own office buildings in Bangor, Falmouth and Yarmouth, Maine; Lubbock and Plano, Texas; Troy, Michigan; Latham, New York; and Moraine, Ohio. We lease space in some of these buildings to third-party tenants. The property we lease to others under operating leases consists primarily of specific facilities where one tenant obtains substantially all of the economic benefit from the asset and has the right to direct the use of the asset. These non-cancelable leases expire between 2020 and 2025, and some have options to extend the lease for up to&#160;five years. We determine if an arrangement is a lease at inception. None of our leases allow the lessee to purchase the leased asset.</span></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Rental income from third-party tenants for the three months ended March&#160;31, 2020, totaled&#160;$274,000 and for the three months ended March&#160;31, 2019, totaled $284,000. Rental income is included in Hardware and other revenue on the condensed consolidated statements of income. Future minimum operating rental income based on contractual agreements is as follows:</span></div><div><span><br/></span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:75.877%;"><tr><td style="width:1.0%;"/><td style="width:63.510%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.148%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:31.142%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Year ending December 31,</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount</span></td></tr><tr><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020 (Remaining 2020)</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,009&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2021</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,372&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2022</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,402&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2023</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,432&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2024</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,462&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">857&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7,534&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="margin-top:15pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of March&#160;31, 2020, we had no additional significant operating or finance leases that had not yet commenced.</span></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeasesOfLessorDisclosureTextBlock', window );">Leases</a></td>
<td class="text">Leases<div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We lease office facilities for use in our operations, as well as transportation and other equipment.&#160;Most of our leases are non-cancelable operating lease agreements and they expire from one year to eight years.&#160;Some of these leases include options to extend for up to 10 years. We had&#160;no finance leases and no related party lease agreements as of March&#160;31, 2020. Operating lease costs were approximately $2.6 million for the three months ended March&#160;31, 2020, and $2.1 million for the three months ended March&#160;31, 2019. </span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The components of operating lease expense were as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:88.157%;"><tr><td style="width:1.0%;"/><td style="width:19.061%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.629%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:41.117%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.629%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:14.749%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.463%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:14.752%;"/><td style="width:1.0%;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Lease Costs</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Financial Statement Classification</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating lease cost</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Selling, general and administrative expenses</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,666&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,370&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Short-term lease cost</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Selling, general and administrative expenses</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">574&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">570&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Variable lease cost</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Selling, general and administrative expenses</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">394&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">163&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Net lease cost</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,634&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,103&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/></tr></table></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of March&#160;31, 2020, Right-of-use ("ROU") lease assets and lease liabilities for our operating leases were recorded in the condensed consolidated balance sheet as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:80.555%;"><tr><td style="width:1.0%;"/><td style="width:56.257%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.707%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:16.693%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.070%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:18.873%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;">Assets:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating lease right-of-use assets</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">17,992&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18,992&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;">Liabilities:</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating leases, short-term</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,373&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,387&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating leases, long-term</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">15,548&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">16,822&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total lease liabilities</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21,921&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">23,209&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="margin-top:18pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Supplemental information related to leases was as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:85.672%;"><tr><td style="width:1.0%;"/><td style="width:59.945%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.653%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.918%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.165%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.919%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other Information</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration: underline;">Cash flows</span><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;">:</span></div></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Cash paid amounts included in the measurement of lease liabilities:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating cash outflows from operating leases</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,873&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,530&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Right-of-use assets obtained in exchange for lease obligations (non-cash):</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Operating leases</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">457&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">431&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;">Lease term and discount rate:</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted average remaining lease term (years)</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Weighted average discount rate</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4.00&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4.00&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">%</span></td></tr></table></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of&#160;March&#160;31, 2020, maturities of lease liabilities were as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:69.590%;"><tr><td style="width:1.0%;"/><td style="width:69.428%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.270%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:25.102%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Year ending December 31,</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020 (Remaining 2020)</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,845&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2021</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,340&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2022</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,021&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2023</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,989&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2024</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,545&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,133&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total lease payments</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">23,873&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Less: Interest</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1,952)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Present value of operating lease liabilities</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21,921&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="margin-top:18pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Rental Income from third parties</span></div><div style="margin-top:9pt;margin-bottom:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We own office buildings in Bangor, Falmouth and Yarmouth, Maine; Lubbock and Plano, Texas; Troy, Michigan; Latham, New York; and Moraine, Ohio. We lease space in some of these buildings to third-party tenants. The property we lease to others under operating leases consists primarily of specific facilities where one tenant obtains substantially all of the economic benefit from the asset and has the right to direct the use of the asset. These non-cancelable leases expire between 2020 and 2025, and some have options to extend the lease for up to&#160;five years. We determine if an arrangement is a lease at inception. None of our leases allow the lessee to purchase the leased asset.</span></div><div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Rental income from third-party tenants for the three months ended March&#160;31, 2020, totaled&#160;$274,000 and for the three months ended March&#160;31, 2019, totaled $284,000. Rental income is included in Hardware and other revenue on the condensed consolidated statements of income. Future minimum operating rental income based on contractual agreements is as follows:</span></div><div><span><br/></span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:75.877%;"><tr><td style="width:1.0%;"/><td style="width:63.510%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.148%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:31.142%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Year ending December 31,</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount</span></td></tr><tr><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020 (Remaining 2020)</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,009&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2021</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,372&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2022</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,402&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2023</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,432&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2024</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,462&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Thereafter</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">857&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total </span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7,534&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="margin-top:15pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of March&#160;31, 2020, we had no additional significant operating or finance leases that had not yet commenced.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -URI http://asc.fasb.org/subtopic&amp;trid=77888251<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasesOfLessorDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for lessor's operating leases.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph Note 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82846649&amp;loc=d3e38371-112697<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 840<br> -SubTopic 10<br> -Section 55<br> -Paragraph 40<br> -Subparagraph Note 3<br> -URI http://asc.fasb.org/extlink&amp;oid=82846649&amp;loc=d3e38371-112697<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -URI http://asc.fasb.org/subtopic&amp;trid=77888252<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasesOfLessorDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6801987424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Other Assets<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract', window );"><strong>Deferred Costs, Capitalized, Prepaid, and Other Assets Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsDisclosureTextBlock', window );">Other Assets</a></td>
<td class="text">Other Assets<div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">As of March&#160;31, 2020, we have $90.6 million in investment grade corporate and municipal bonds with maturity dates ranging ranging through 2023. We intend to hold these bonds to maturity and have classified them as such. We believe cost approximates fair value because of the relatively short duration of these investments. The fair values of these securities are considered Level II as they are based on inputs from quoted prices in markets that are not active or other observable market data. These investments are presented at amortized cost are included in Short-term investments and Non-current investments and other assets in the accompanying condensed consolidated balance sheets.  As of March&#160;31, 2020, we have an accrued interest receivable balance of $493,000 and is included in Account receivables, net. We do not measure an allowance for credit losses for accrued interest receivables. We record any losses within the maturity period of the investment and any write-offs to accrued interest receivables are recorded as a reduction to interest income in the period of the loss. During the three months ended March&#160;31, 2020, we have recorded no credit losses. Interest income and amortization of discounts and premiums are included in Other income (expense), net in the accompanying condensed consolidated statements of income.</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">During the three months ended March&#160;31, 2020, we sold our $15 million investment in convertible preferred stock representing a 20% interest in Record Holdings Pty Limited ("Record Holdings"), a privately held Australian company specializing in digitizing the spoken word in court and legal proceedings, to BFTR, LLC, a wholly owned subsidiary of Bison Capital Partners V L.P. During the same period, we purchased $10 million in common stock representing a 18% interest in BFTR, LLC. The investment in common stock is accounted under the cost method because we do not have the ability to exercise significant influence over the investee and the securities do not have readily determinable fair values. Our investment is carried at cost less any impairment write-downs. Annually, our cost method investments are assessed for impairment. We do not reassess the fair value of cost method investments if there are no identified events or changes in circumstances that may have a significant adverse effect on the fair value of the investments. This investment is included in Non-current investments and other assets in the accompanying condensed consolidated balance sheets.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredCostsCapitalizedPrepaidAndOtherAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for other assets. This disclosure includes other current assets and other noncurrent assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6803353120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment and Related Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingAbstract', window );"><strong>Segment Reporting [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Schedule of segment revenues and operations</a></td>
<td class="text"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:98.976%;"><tr><td style="width:1.0%;"/><td style="width:43.642%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.538%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.850%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.538%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.850%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.538%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.850%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.538%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.856%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise<br/>Software</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Revenues</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses and royalties</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">15,951&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,786&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18,737&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Subscriptions</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">76,644&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,079&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">81,723&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">44,949&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7,184&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">52,133&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Maintenance</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">104,841&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">9,524&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">114,365&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,763&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,763&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,791&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">27&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,820&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Intercompany</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,001&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4,019)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">250,177&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">30,381&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4,017)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">276,541&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Segment operating income</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">60,472&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,908&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(20,068)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">47,312&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:98.976%;"><tr><td style="width:1.0%;"/><td style="width:43.642%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.538%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.850%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.538%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.850%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.538%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.850%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.538%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.856%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise<br/>Software</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Revenues</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses and royalties</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18,522&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,271&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21,793&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Subscriptions</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">63,255&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,020&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">67,275&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">40,456&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7,987&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">48,443&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Maintenance</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">91,188&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">8,964&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">100,152&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,214&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,214&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,130&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">62&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,189&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Intercompany</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,484&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">69&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3,553)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">221,035&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">29,587&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3,556)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">247,066&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Segment operating income</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">55,474&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">7,095&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(16,546)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">46,023&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock', window );">Reconciliation of operating income from segments to consolidated</a></td>
<td class="text"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:77.631%;"><tr><td style="width:1.0%;"/><td style="width:65.984%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.306%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:13.254%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.741%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.315%;"/><td style="width:1.0%;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Reconciliation of reportable segment operating income to the Company's consolidated totals:</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total segment operating income</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">47,312&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">46,023&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amortization of acquired software</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(8,027)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(6,682)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amortization of customer and trade name intangibles</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(5,392)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4,850)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Other income, net</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">990&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">586&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Income before income taxes</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">34,883&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">35,077&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr></table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation of profit (loss) from reportable segments to the consolidated income (loss) before income tax expense (benefit) and discontinued operations. Includes, but is not limited to, reconciliation after income tax if income tax is allocated to the reportable segment.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 31<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8924-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8813-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=108376223&amp;loc=d3e13816-109267<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8721-108599<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8906-108599<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6604353920">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Shareholders' Equity (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityAbstract', window );"><strong>Equity [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfStockholdersEquityTableTextBlock', window );">Summary of details activity in our common stock</a></td>
<td class="text"><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The following table details activity in our common stock:</span></div><div style="margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:89.035%;"><tr><td style="width:1.0%;"/><td style="width:41.513%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.621%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.479%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.621%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.315%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.621%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:9.658%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.606%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:12.942%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.624%;"/><td style="width:0.1%;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="21" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-bottom:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three Months Ended March 31,</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2020</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2019</span></td><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Shares</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Shares</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Amount</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Purchases of treasury shares</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(59)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(15,482)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(72)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(14,289)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Stock option exercises </span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">481&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">46,236&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">94&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">6,564&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Employee stock plan purchases</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,469&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">15&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,349&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Restricted stock units vested, net of withheld shares upon award settlement</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(2,301)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">10&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(1,373)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr></table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfStockholdersEquityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of changes in the separate accounts comprising stockholders' equity (in addition to retained earnings) and of the changes in the number of shares of equity securities during at least the most recent annual fiscal period and any subsequent interim period presented is required to make the financial statements sufficiently informative if both financial position and results of operations are presented.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=109259400&amp;loc=d3e21463-112644<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfStockholdersEquityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6806635008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Deferred Revenue and Performance Obligations<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Deferred Revenue and Performance Obligations</a></td>
<td class="text">Deferred CommissionsSales commissions earned by our sales force are considered incremental and recoverable costs of obtaining a contract with a customer. Sales commissions for initial contracts are deferred and then amortized commensurate with the recognition of associated revenue over a period of benefit that we have determined to be <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfMzQ3_ffd0ccce-aade-4ac4-927b-cf2eaf701cc5">three</span> to seven years. Deferred commissions were&#160;$30.9 million&#160;and $29.8 million as of March&#160;31, 2020,&#160;and&#160;December&#160;31, 2019, respectively. Amortization expense was $3.9 million for the&#160;three months ended March&#160;31, 2020, and&#160;$3.8 million for the&#160;three months ended March&#160;31, 2019. There were no indicators of impairment in relation to the costs capitalized for the periods presented. Deferred commissions have been included with prepaid expenses for the current portion and non-current other assets for the long-term portion in the accompanying condensed consolidated balance sheets. Amortization expense related to deferred commissions is included in Selling, general and administrative expenses in the accompanying condensed consolidated statements of income.Disaggregation of Revenue<div style="text-indent:-9pt;margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">    The tables below show disaggregation of revenue into categories that reflect how economic factors affect the nature, amount, timing, and uncertainty of revenue and cash flows.</span></div><div style="text-indent:-9pt;margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">    Timing of Revenue Recognition</span></div><div style="text-indent:-9pt;margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">    Timing of revenue recognition by revenue category during the period is as follows:</span></div><div style="text-align:center;margin-top:12pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"/><td style="width:43.078%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.546%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.546%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.691%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Products and services transferred at a point in time</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Products and services transferred over time</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses and royalties</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">16,066&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2,671&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18,737&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Subscriptions</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">81,723&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">81,723&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">52,133&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">52,133&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Maintenance</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">114,365&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">114,365&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,763&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,763&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,820&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,820&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">19,886&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">256,655&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">276,541&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"/><td style="width:43.301%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.501%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.531%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.501%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.531%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.501%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:15.534%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Products and services transferred at a point in time</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Products and services transferred over time</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software licenses and royalties</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">16,910&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,883&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21,793&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Subscriptions</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">67,275&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">67,275&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Software services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">48,443&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">48,443&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Maintenance</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">100,152&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">100,152&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal services</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,214&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">5,214&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Hardware and other</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,189&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,189&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">21,099&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">225,967&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">247,066&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="text-align:center;"><span><br/></span></div><div style="margin-top:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Recurring Revenue </span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The majority of our revenue is comprised of recurring revenues from maintenance and subscriptions. Virtually all of our on-premises software clients contract with us for maintenance and support, which provides us with a significant source of recurring revenue. We generally provide maintenance and support for our on-premises clients under annual, or in some cases, multi-year contracts. The contract terms for subscription arrangements range from <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RleHRyZWdpb246ZjZmYmIxMzk5MWYxNGUzY2EwYjVmMDBlZDc2ZGNkZDZfODMy_52445c18-6c01-4972-858f-87b95f845d8e">one</span> to 10 years but are typically contracted for initial periods of <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RleHRyZWdpb246ZjZmYmIxMzk5MWYxNGUzY2EwYjVmMDBlZDc2ZGNkZDZfODkz_c5a35317-6090-49f0-80d4-0ed5be63f368">three</span> to five years, providing a significant source of recurring revenues on an annual basis. Non-recurring revenues are derived from all other revenue categories. </span></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Recurring revenues and non-recurring revenues recognized during the period are as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"/><td style="width:45.503%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.415%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise<br/>Software</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td></tr><tr><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Recurring revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">181,485&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">14,603&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">196,088&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-recurring revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">64,691&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">15,760&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">2&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">80,453&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Intercompany</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">4,001&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">18&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4,019)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">250,177&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">30,381&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(4,017)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">276,541&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="text-align:center;margin-top:9pt;"><span><br/></span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"><tr><td style="width:1.0%;"/><td style="width:45.503%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.410%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.513%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:10.415%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">For the three months ended March 31, 2019</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise<br/>Software</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td></tr><tr><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Recurring revenues</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">154,443&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">12,984&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">167,427&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Non-recurring revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">63,108&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">16,534&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">79,639&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Intercompany</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">3,484&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">69&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3,553)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#8212;&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">221,035&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">29,587&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(3,556)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">247,066&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div>Deferred Revenue and Performance Obligations<div style="text-align:justify;margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Total deferred revenue, including long-term, by segment is as follows:</span></div><div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:75.877%;"><tr><td style="width:1.0%;"/><td style="width:48.674%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.763%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:21.699%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:0.763%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:21.701%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">March 31, 2020</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Enterprise Software</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">333,314&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">375,838&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Appraisal&#160;and&#160;Tax</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">31,205&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">35,487&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Corporate</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,607&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">1,369&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Totals</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">366,126&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">412,694&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Changes in total deferred revenue, including long-term, were as follows:</span></div><div><span><br/></span></div><div style="text-align:center;margin-bottom:6pt;"><table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:76.754%;"><tr><td style="width:1.0%;"/><td style="width:73.238%;"/><td style="width:1.0%;"/><td style="width:0.1%;"/><td style="width:1.133%;"/><td style="width:0.1%;"/><td style="width:1.0%;"/><td style="width:21.429%;"/><td style="width:1.0%;"/></tr><tr><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Three months ended March 31, 2020</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of December 31, 2019</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">412,694&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Deferral of revenue</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">198,324&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Recognition of deferred revenue</span></td><td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">(244,892)</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/><td colspan="3" style="display:none;"/></tr><tr><td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">Balance as of March 31, 2020</span></td><td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">$</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">366,126&#160;</span></td><td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"><span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);">&#160;</span></td></tr></table></div><div style="margin-top:12pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;">Transaction Price Allocated to the Remaining Performance Obligations</span></div><div style="margin-top:9pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">The aggregate amount of transaction price allocated to the remaining performance obligations represents contracted revenue that has not yet been recognized ("backlog"), which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods. Backlog as of March&#160;31, 2020, was $1.50 billion, of which we expect to recognize approximately 48% as revenue over the next 12 months and the remainder thereafter.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -URI http://asc.fasb.org/topic&amp;trid=49130388<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
..report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

..report table.authRefData a {
	display: block;
	font-weight: bold;
}

..report table.authRefData p {
	margin-top: 0px;
}

..report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

..report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

..report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

..report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
..pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
..report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

..report hr {
	border: 1px solid #acf;
}

/* Top labels */
..report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

..report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

..report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

..report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

..report td.pl div.a {
	width: 200px;
}

..report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
..report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
..report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
..report .re, .report .reu {
	background-color: #def;
}

..report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
..report .ro, .report .rou {
	background-color: white;
}

..report .rou td {
	border-bottom: 1px solid black;
}

..report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
..report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
..report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

..report .nump {
	padding-left: 2em;
}

..report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
..report .text {
	text-align: left;
	white-space: normal;
}

..report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

..report .text .more {
	display: none;
}

..report .text .note {
	font-style: italic;
	font-weight: bold;
}

..report .text .small {
	width: 10em;
}

..report sup {
	font-style: italic;
}

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>tyl-20200331_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2019-01-31"
  xmlns:tyl="http://www.tylertech.com/20200331"
  xmlns:us-gaap="http://fasb.org/us-gaap/2019-01-31"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="tyl-20200331.xsd" xlink:type="simple"/>
    <context id="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i0f66e2e57dbf4a6d88e7a3761d004c7e_I20200427">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
        </entity>
        <period>
            <instant>2020-04-27</instant>
        </period>
    </context>
    <context id="ie891a1616a7a4c018ac10300638907dc_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:SoftwareLicensesandRoyaltiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i4ae494fe3fc54cebb5b97d00059ab11b_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:SoftwareLicensesandRoyaltiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i52db7fb94e9a43d3a090841e603a1f22_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ife3e03665cb644d2b0fe0812b3be1710_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i22ad0df49d924893a3577a4c019909df_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i922ed0a0756c470085fe495091639d66_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i240b9b798d9f4a78bc53dc123e9d7930_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ia1be6fa6298c4d629677609ef41783ea_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="ie84c2a45cd6a4877a7182c409a4cc863_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ie1b58e04a8b34027811767211b7fabc2_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i22724b43d60848c9abd198a90227d9a3_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:HardwareandOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i2f2225f563434ad48ae0773f6485d362_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:HardwareandOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i438de681cc894bc2901b4986acb88cd9_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AcquiredSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i3d1df32ae61c4d9195656acb516102f8_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AcquiredSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="if1a1e6c97d224c17a27f96bcd025b788_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:SoftwareServicesMaintenanceandSubscriptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ifbfe303c068f4c138370d434322e9859_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:SoftwareServicesMaintenanceandSubscriptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i3a034c88ef4f4a1b9bf7055967030885_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="ic34cb5da26534e7e83310f5e76c3166f_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="if0aa42e674be4ee2b3de1fc28e9907d9_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i6775188fc49547f38d76e5875298883c_I20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="i95c1e77adfe44862b1f0c39f244aed0f_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ib1ae2ee3e9d64c76a151fda0af049d4f_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ie25bb76b60504372b3811134dade1ad5_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="iad2144fd9ddf41b78c9aa4cc22f802b1_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ia9960cd07d2f45aa8592a4abbb6c5e64_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i0f0aa7b030d5468794b7b725a707046b_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i8f656cef9217415fb6511287294b8ec7_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ic429cf54cd604fbfbcc28f5998d31c49_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i0c7cf5f6fc2f4c89b71ef2c6e97c6de1_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i4eb70c93f4fa411bad86bd10d674cb0e_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i2701f41b4d2a449fa56cc719ab107f93_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="ia089920120cf4415a75c227608672f35_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i452e52ac341a45d3b1b7a595f341be00_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i4c971661448d4f03ae15450aa38f9645_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="ic0ea1645202a41c992e1d5f88b7728d9_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i42fd642707964f51b3582e09c9a0601f_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i2666add8085f4d34a75aabc4979b5b39_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i7c228c8cb37f4258a6bd465af9068c44_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="tyl:CumulativeEffectPeriodOfAdoptionAxis">tyl:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="ie55cea4470ba4158b99ac9d7f8f15f4f_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="tyl:CumulativeEffectPeriodOfAdoptionAxis">tyl:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i4edd9cb5659c4b07b965e45ff62e66ac_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="iefb48e54a90e4732af812d5d82572982_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i63a912e4a674459c9231a2b270a61ce5_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="ic28c914a66344b88a58d0be2b67a426b_I20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="i05854a2fbc114516890f7e84e7578b9b_I20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="i5cfca337b14b432096c5016af25facd8_I20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="ie246fba7f2ae4a4ead42939f25a072af_I20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="i5a7ea45253564e67bfce97082f1261e2_I20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-03-31</instant>
        </period>
    </context>
    <context id="ib0673062db4f4bea81b579227d982082_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i87a1ecdcb74944b4a441f12a92f14f16_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i30c0f3448a6945928028fe4f059fc018_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i2dbbc6fbf92d4f748d67fbd276f6976c_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">tyl:RetentionReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="ie314674e7fcd420c864a4b079ee49508_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">tyl:RetentionReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i406c48b63868432e99620710e3da2ecf_D20200228-20200228">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tyl:MPHoldingsParentInc.dbaMicroPactMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-02-28</startDate>
            <endDate>2020-02-28</endDate>
        </period>
    </context>
    <context id="i41536f8dfc924a47b1c4eb2bb6a775d3_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="iddae0efff8774178a4dbab5c433849a1_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i98eaf4d5d4df44519573eba5b2b1e26c_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">tyl:RecordHoldingsPtyLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ibeed6a78eb454e6b814c43f49bcecb58_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">tyl:RecordHoldingsPtyLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i16f8c115a9824e20891f5cbd72a059b3_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">tyl:RecordHoldingsPtyLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="id6bb299c77214e989cc38d69596aff0e_I20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-30</instant>
        </period>
    </context>
    <context id="i3de4ab46c9ee4e8c8a50b2ce44ca4756_I20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-30</instant>
        </period>
    </context>
    <context id="i7a7f81d2a0514100b5b0fead552b87a5_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i981befe7724e41f9a255dd5fd6d74bb9_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="iefda0ef086bf4140be672398f2463104_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="id0659a795ce14cdeb6a5500f7a5ccc9c_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i2268fdde9b874a1fa7cfb716c12ed583_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i6867502de31f497881339235700ffb3e_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i5e88cc29fc4344bfa1f3cb0964249dd3_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i154d9f766dcf4291a99504c7ea383294_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i89c2da0acd3c4bfdb10925118ce493ff_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">tyl:CostOfSoftwareServicesMaintenanceAndSubscriptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="iac1b4e8d5e334b489e6fab9ec6ea66a3_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">tyl:CostOfSoftwareServicesMaintenanceAndSubscriptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="ibb616f6cafed4e7da6716dcfdc9ae8b0_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ifd55246cbed7407c88ed3a166dfd35c7_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i42f875f801df49e0ae125363a32e3b9f_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ia638677e423e46e795938d5bfca9f360_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i02e20e1488054973a7d677512336d4fb_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i1b9306c5d397496a83892163b6505b93_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="if9be6dfd9bdb4d1dadb2df02216e2434_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i31ec1a4f303343f3ad1bcbe6dc24f086_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i73053d465832447da7cac300456c4044_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i8372ae198a8349d0a6941699d364f293_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i7186904b8c0c4f148f2c8e84d3a5175c_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ic6396e699ba7498883d7de219f14fda9_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="iebcd92a7c6474103a59fdd915a76b6c0_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ie1761f4920b9412d992f4aef88d84432_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i5318dd3099774c668755517ea1885983_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i4a3429ab8342458ab88db39b49e8f9b6_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i9dec249933f5400d82affc613383cff5_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="id7b90be9d14d426491f3ce3e4509d19f_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="if8fdb33ac6544e9085af6789d5b70927_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i35d42cc86afc4d4d9eace7fa3ef7daf2_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i29a0984318494d8bb0f22c0324ebd5ad_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i763404a96d47446a88ccf5a480f6368e_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i5af9908d35fc421fa38fdefcf3533c05_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i6e22976264eb477ebb061d302b1a4a52_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i4108b1178c6d44a58e6ead6ef1b71a0c_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i02f5a06064cc4ec28bd02663c5168da3_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i944d80f733af47e19c5d70f7de91add8_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i4059a89ea6df435a8da4356261d9cf12_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i5930ed3cb5b3435aa6665d595745950e_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="iff0486376a584e5e9e13ef92fe8f90bc_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">tyl:OperatingSegmentsAndCorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="if69a2b78847b40ae9f9373cf1912978a_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="iccdae54e7a27493d8f98f6a66c5f1194_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i48170640a80847cb97c1d75106a008cd_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="id21098feabae4b92b6f5682c1e4471a3_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i2ae2aa28a883403c8172bad962ba4706_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="id826499eeb364780be75ef5d950f8b81_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i6e073656a53241679516e3df2a153368_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i06f6a86f5ff940938d4b4236e0d5720d_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i08a9d0317108455889371733dcf957e3_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="if751b1c96ca84edeb2ee59af17306cdc_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i9bc205ba155944e591edd215bb565320_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i499a0b9ab62a47a9a1bf005ef4e61524_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i28e98d7972d84b1c93b23f62de28333a_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i5197210f1bb74bb19eb6336213c6a8cc_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i4fad6c75854b41f8a7604205a2c1ea97_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i47756fec379740d0912899c98a50dc02_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i51ac72b374cb40b6b3d5740ebfd0554a_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i5a017816013a430598fd4a7e7742597a_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="if8b4873ec45e4fe083e35929d1ffadee_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="idb04aa621c4848ffbc32c50f8b142f14_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="if0e6c18f09d44f2e8b69704bea001833_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="ie375222b17754978a37dc3bff2cfc4cc_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i17c88dcef4ef45ada567ec8ee42818fa_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="ic4598c3e3afb485584b2e644355bd678_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i7aad1ceff15e45eab0bb04cdbd984454_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i357a20f772354841b35f66d909d8013f_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="icc4557402c51425f9a7a8b8b90064f05_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">tyl:OperatingSegmentsAndCorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i6249daabf00a43ca9a0a9fc9581828a1_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:MaterialReconcilingItemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">tyl:AcquiredSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i8eb935a3bfb44b3c97e430acbfc4eb6f_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:MaterialReconcilingItemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">tyl:AcquiredSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="ie5a4f94c748349c49c587b4b00cba1ee_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:MaterialReconcilingItemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">tyl:CustomerListsAndTradeNameMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="id32798fbaa3842f59a7d1565166db8ef_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:MaterialReconcilingItemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">tyl:CustomerListsAndTradeNameMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i5f3a34d3ef0543119430a070809fa972_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:MaterialReconcilingItemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i1f584053dbb249b28b94a711ac2d24ec_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:MaterialReconcilingItemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i5f130b1cddfa464f81b553c4adfa1852_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i7398be0f21e641939afc14ed98fd0c4a_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i778d0abd9ba94b548e2f23fe6215a02f_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i88ad4490f06b4bcbaa1e384ff2cc636b_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i62a6afbc64914fe2879521e014caddae_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i6159463330ca46c1ac24a6f57f8e04fd_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ia5f26c0bcac143d8bd8f1a8e83640103_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i7ff257486b7c44758c908850034cf1b4_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i2a59a79167eb46ab80d96d3e4760a4de_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i567a9f2fc37649f4bbf0cacb19642020_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i91dc0fcbcb6e4a108e0b78afea5903e8_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ie8bbbe9b2e57404aa10d598afb1670ba_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ic2167dfd77a64473aa8874253785bdaf_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i32abe40a2a344d6aa7c44349293ec062_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ic438154480a547968214ff66cc860671_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i81aeec1e60b34522bb6c10a9ae42c55a_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="ifc620dad4052457291a8289093c3926c_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i06486b440a2f42fca2926dd5c34b80a1_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i335e8bf2b0b542acac9fc8b7e0866e20_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="ib5e9933f07ca4cd8b92fef549b555c84_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i763adef998874ca09bf9a556462a1335_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="id6a28479ee6441a09aa3eb575fa2c9c4_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="icb4d7bf548f64734a9d5697f644631da_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i48e012f533f94e69bec4c184beac70c9_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="ie2bbb44fb4b64a8dbb0c0551ba464c81_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="if6d202e298f749ca9661adec9ef9e826_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i96d8cad12e5a4cf5a7e3d55f96d5fe1f_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="ic0736c9243224541a773474e71c816e7_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i9679ba3cd4cc4e29a1c62acc23e58d13_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="iac5740cc78f54eee9c7d2e9261916a6c_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i2f528cca431049179489cea19abd7ee2_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="if772a08e639f470b9939da8a14f55a5d_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ib87744e9a74345f0b52df5613ffae72d_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i15bcb49591934137ad58b30dcd83922f_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="i53770699f6244425b7aa35cfb1ef90f0_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="if01372c8c4d54f22822bd4fddf261589_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="ic472cdd08b174bd0a334358c7a78f7fc_D20200101-20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">tyl:CorporateAndEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-03-31</endDate>
        </period>
    </context>
    <context id="iab4b962eb99943ce8de03a471bdb3f9d_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i209cfcbffb764ac08c3ab8ad36a62c8b_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i0d6133ab4f484af596b13cec4e042473_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i13606cafdc7a487983431a017a0c209b_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i01651462b82441cfab958cd39f1cb072_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i7c2c0f3af757401fbd9afb82c07b9105_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="ie1c4de1e95d34d4c8f57d4de2d7aced4_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i4948357185d84a6683271b22dde1252e_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="ia44a14fb59ac495ea50bf95a685a16d8_D20190101-20190331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">tyl:CorporateAndEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="i4be7e173672747c39fd45e67723f4657_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="id98be3fd44f641dd86477ce4adb5173b_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i2638b261af7345f396d48d9f8300ae62_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i3094a16384cf4b55aff65cc2fd119cc0_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ifd79c864ee4b409995e6af58347afb48_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="id3bbee42c456455faba0dd145bb5bc58_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i5d69f3a426294011a0c91acb9425c994_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2020-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="business_unit">
        <measure>tyl:Business_Unit</measure>
    </unit>
    <unit id="segment">
        <measure>tyl:Segment</measure>
    </unit>
    <unit id="legalmatter">
        <measure>tyl:LegalMatter</measure>
    </unit>
    <dei:AmendmentFlag
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80L2ZyYWc6MWFmM2IxZDZiMTdlNDUyYmIzOWZkYzk5ZWQ4ZjE0ZmUvdGFibGU6MDA5NGU4NTZiOGExNDU5YWI3ZWRlOTNkYTAxNjFhZDcvdGFibGVyYW5nZTowMDk0ZTg1NmI4YTE0NTlhYjdlZGU5M2RhMDE2MWFkN18yLTEtMS0xLTA_ce0f361d-2ff7-405e-96cc-562de29da4c2">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80L2ZyYWc6MWFmM2IxZDZiMTdlNDUyYmIzOWZkYzk5ZWQ4ZjE0ZmUvdGFibGU6MDA5NGU4NTZiOGExNDU5YWI3ZWRlOTNkYTAxNjFhZDcvdGFibGVyYW5nZTowMDk0ZTg1NmI4YTE0NTlhYjdlZGU5M2RhMDE2MWFkN180LTEtMS0xLTA_ba73fa1f-428f-4d36-b7e4-b1d1aadcc663">2020</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80L2ZyYWc6MWFmM2IxZDZiMTdlNDUyYmIzOWZkYzk5ZWQ4ZjE0ZmUvdGFibGU6MDA5NGU4NTZiOGExNDU5YWI3ZWRlOTNkYTAxNjFhZDcvdGFibGVyYW5nZTowMDk0ZTg1NmI4YTE0NTlhYjdlZGU5M2RhMDE2MWFkN181LTEtMS0xLTA_93639fc2-ab54-42b9-a8a5-7f5708e215d2">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80L2ZyYWc6MWFmM2IxZDZiMTdlNDUyYmIzOWZkYzk5ZWQ4ZjE0ZmUvdGFibGU6MDA5NGU4NTZiOGExNDU5YWI3ZWRlOTNkYTAxNjFhZDcvdGFibGVyYW5nZTowMDk0ZTg1NmI4YTE0NTlhYjdlZGU5M2RhMDE2MWFkN183LTEtMS0xLTA_9e186704-0d83-4ac5-9d18-4071040a190a">0000860731</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80L2ZyYWc6MWFmM2IxZDZiMTdlNDUyYmIzOWZkYzk5ZWQ4ZjE0ZmUvdGFibGU6MDA5NGU4NTZiOGExNDU5YWI3ZWRlOTNkYTAxNjFhZDcvdGFibGVyYW5nZTowMDk0ZTg1NmI4YTE0NTlhYjdlZGU5M2RhMDE2MWFkN184LTEtMS0xLTA_2c4f784f-a023-4686-845d-cdc30ff04cb1">--12-31</dei:CurrentFiscalYearEndDate>
    <tyl:SalesCommissionsAmortizationPeriod
      contextRef="i41536f8dfc924a47b1c4eb2bb6a775d3_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfMzQ3_ffd0ccce-aade-4ac4-927b-cf2eaf701cc5">P3Y</tyl:SalesCommissionsAmortizationPeriod>
    <tyl:RevenueFromContractWithCustomerContractTerm
      contextRef="i41536f8dfc924a47b1c4eb2bb6a775d3_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RleHRyZWdpb246ZjZmYmIxMzk5MWYxNGUzY2EwYjVmMDBlZDc2ZGNkZDZfODMy_52445c18-6c01-4972-858f-87b95f845d8e">P1Y</tyl:RevenueFromContractWithCustomerContractTerm>
    <tyl:RevenueFromContractWithCustomerTypicalContractTerm
      contextRef="i41536f8dfc924a47b1c4eb2bb6a775d3_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RleHRyZWdpb246ZjZmYmIxMzk5MWYxNGUzY2EwYjVmMDBlZDc2ZGNkZDZfODkz_c5a35317-6090-49f0-80d4-0ed5be63f368">P3Y</tyl:RevenueFromContractWithCustomerTypicalContractTerm>
    <dei:DocumentType
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGV4dHJlZ2lvbjpiMjg2MDc4MjU0ODM0ODIxYmQyZmRhZjIwMzFkNmRkM184NQ_9b5d977b-9761-4ea3-8f39-33465e26d499">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6ODQ5YzEwM2I1YzI1NGVjY2E2NDc1ZDc0NGZiYjI2MGEvdGFibGVyYW5nZTo4NDljMTAzYjVjMjU0ZWNjYTY0NzVkNzQ0ZmJiMjYwYV8wLTAtMS0xLTA_8fb16ceb-34f8-4794-83ab-989099afea33">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGV4dHJlZ2lvbjpiMjg2MDc4MjU0ODM0ODIxYmQyZmRhZjIwMzFkNmRkM18xMjI_698fd33c-3656-418f-8f24-5ef698393ec9">2020-03-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6ODVkYWE3ZGU2Yzg5NDE1Mzg0OGU1N2Y1ODJjMTY5NTkvdGFibGVyYW5nZTo4NWRhYTdkZTZjODk0MTUzODQ4ZTU3ZjU4MmMxNjk1OV8wLTAtMS0xLTA_e9bf9641-93ea-4ca3-bf36-256d40e66ab1">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGV4dHJlZ2lvbjpiMjg2MDc4MjU0ODM0ODIxYmQyZmRhZjIwMzFkNmRkM18xNTU_9542190c-2d2f-4e51-af61-7e46ffa77723">1-10485</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGV4dHJlZ2lvbjpiMjg2MDc4MjU0ODM0ODIxYmQyZmRhZjIwMzFkNmRkM18xNTk_187a7d95-e9cd-49ab-8edc-a1ca7dffcf3e">TYLER TECHNOLOGIES, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6ODgyODdjNWNiMDU4NDg3ODgyN2FlZmY2MDE0MWU1ZDgvdGFibGVyYW5nZTo4ODI4N2M1Y2IwNTg0ODc4ODI3YWVmZjYwMTQxZTVkOF8wLTAtMS0xLTA_91418e81-04c9-4260-952a-19e6946844a4">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6ODgyODdjNWNiMDU4NDg3ODgyN2FlZmY2MDE0MWU1ZDgvdGFibGVyYW5nZTo4ODI4N2M1Y2IwNTg0ODc4ODI3YWVmZjYwMTQxZTVkOF8wLTItMS0xLTA_a22b7b39-b5be-443f-843f-e59e79cb7327">75-2303920</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6ZTljMGVkY2I4ZmVkNGUxYWE4MTAzYjMwZjczZDk3ZDAvdGFibGVyYW5nZTplOWMwZWRjYjhmZWQ0ZTFhYTgxMDNiMzBmNzNkOTdkMF8wLTAtMS0xLTA_99ab8b80-5bf3-4010-a90f-07a1bff5b2cb">5101 TENNYSON PARKWAY</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6ZTljMGVkY2I4ZmVkNGUxYWE4MTAzYjMwZjczZDk3ZDAvdGFibGVyYW5nZTplOWMwZWRjYjhmZWQ0ZTFhYTgxMDNiMzBmNzNkOTdkMF8wLTEtMS0xLTA_bdb0180a-aae3-4a38-9cd1-fe4d29bfe200">PLANO</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6ZTljMGVkY2I4ZmVkNGUxYWE4MTAzYjMwZjczZDk3ZDAvdGFibGVyYW5nZTplOWMwZWRjYjhmZWQ0ZTFhYTgxMDNiMzBmNzNkOTdkMF8wLTItMS0xLTA_95281b18-4f26-4fa2-98c8-03a22bb9fa0c">TX</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6ZTljMGVkY2I4ZmVkNGUxYWE4MTAzYjMwZjczZDk3ZDAvdGFibGVyYW5nZTplOWMwZWRjYjhmZWQ0ZTFhYTgxMDNiMzBmNzNkOTdkMF8wLTMtMS0xLTA_053fefa0-66e6-47f5-bf5e-3e5759b0528a">75024</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGV4dHJlZ2lvbjpiMjg2MDc4MjU0ODM0ODIxYmQyZmRhZjIwMzFkNmRkM18yMjU_b0162205-23a2-47b5-80de-f55d5cca8087">972</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGV4dHJlZ2lvbjpiMjg2MDc4MjU0ODM0ODIxYmQyZmRhZjIwMzFkNmRkM18yMjk_38026b3e-23ac-4e87-81fe-88271161ade4">713-3700</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6NmIxNDkzNDk1NzEwNDgwMTlhMWU3MWFlMzRlZjgxOTEvdGFibGVyYW5nZTo2YjE0OTM0OTU3MTA0ODAxOWExZTcxYWUzNGVmODE5MV8xLTAtMS0xLTA_e3ed3ce5-f4c1-4139-a57a-0ff9541f4a4c">COMMON STOCK, $0.01 PAR VALUE</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6NmIxNDkzNDk1NzEwNDgwMTlhMWU3MWFlMzRlZjgxOTEvdGFibGVyYW5nZTo2YjE0OTM0OTU3MTA0ODAxOWExZTcxYWUzNGVmODE5MV8xLTEtMS0xLTA_108bf4f5-5d22-4b10-b1b2-f6c8f4e76da4">TYL</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6NmIxNDkzNDk1NzEwNDgwMTlhMWU3MWFlMzRlZjgxOTEvdGFibGVyYW5nZTo2YjE0OTM0OTU3MTA0ODAxOWExZTcxYWUzNGVmODE5MV8xLTItMS0xLTA_fd28c032-cb6c-4865-995f-a16d39046300">NYSE</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGV4dHJlZ2lvbjpiMjg2MDc4MjU0ODM0ODIxYmQyZmRhZjIwMzFkNmRkM182MzQ_61126e66-1cfc-400c-adbd-a462d33be02e">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGV4dHJlZ2lvbjpiMjg2MDc4MjU0ODM0ODIxYmQyZmRhZjIwMzFkNmRkM185MzU_8a82e4e5-334b-4ae3-8e59-1ba2e738a27c">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6YmMwMWI0ODQxODE0NDE0NmFlMjgxZTk3OTE4YWQ2ZmEvdGFibGVyYW5nZTpiYzAxYjQ4NDE4MTQ0MTQ2YWUyODFlOTc5MThhZDZmYV8wLTAtMS0xLTA_5af04e28-1009-4dfb-b123-fb29d432c0b9">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6YmMwMWI0ODQxODE0NDE0NmFlMjgxZTk3OTE4YWQ2ZmEvdGFibGVyYW5nZTpiYzAxYjQ4NDE4MTQ0MTQ2YWUyODFlOTc5MThhZDZmYV8yLTYtMS0xLTA_1725addc-7465-4b67-a535-0ed8f898fa7e">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGFibGU6YmMwMWI0ODQxODE0NDE0NmFlMjgxZTk3OTE4YWQ2ZmEvdGFibGVyYW5nZTpiYzAxYjQ4NDE4MTQ0MTQ2YWUyODFlOTc5MThhZDZmYV8zLTYtMS0xLTA_b1c298bf-74db-43fd-9405-f30e357adc97">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGV4dHJlZ2lvbjpiMjg2MDc4MjU0ODM0ODIxYmQyZmRhZjIwMzFkNmRkM18xNDIy_df43a316-3d1e-4d2d-b66f-a467782c4fc2">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i0f66e2e57dbf4a6d88e7a3761d004c7e_I20200427"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xL2ZyYWc6YjI4NjA3ODI1NDgzNDgyMWJkMmZkYWYyMDMxZDZkZDMvdGV4dHJlZ2lvbjpiMjg2MDc4MjU0ODM0ODIxYmQyZmRhZjIwMzFkNmRkM18xNTA5_4c8a6a34-c457-4971-82b9-31d5ba076269"
      unitRef="shares">39761629</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie891a1616a7a4c018ac10300638907dc_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMy0yLTEtMS0w_6fb75c67-8b43-4f1f-9719-23049cc32483"
      unitRef="usd">18737000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4ae494fe3fc54cebb5b97d00059ab11b_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMy00LTEtMS0w_1e79c23c-0523-4b38-a51e-4ba3cf91e20a"
      unitRef="usd">21793000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i52db7fb94e9a43d3a090841e603a1f22_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfNC0yLTEtMS0w_2d481136-2720-486d-a68e-815e8ca97d12"
      unitRef="usd">81723000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ife3e03665cb644d2b0fe0812b3be1710_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfNC00LTEtMS0w_232dd975-1e52-4a85-a96f-a0f6769b60ad"
      unitRef="usd">67275000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i22ad0df49d924893a3577a4c019909df_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfNS0yLTEtMS0w_e7bed69c-349c-4451-987b-2fdf30e83198"
      unitRef="usd">52133000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i922ed0a0756c470085fe495091639d66_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfNS00LTEtMS0w_138d0af8-ee41-497c-bbfb-c5b2e11bc6cb"
      unitRef="usd">48443000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i240b9b798d9f4a78bc53dc123e9d7930_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfNi0yLTEtMS0w_57cb67f9-96f9-4010-b3a1-e973a1dd0ade"
      unitRef="usd">114365000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia1be6fa6298c4d629677609ef41783ea_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfNi00LTEtMS0w_0fc797bf-94ba-49b1-b8ff-708537c59017"
      unitRef="usd">100152000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie84c2a45cd6a4877a7182c409a4cc863_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfNy0yLTEtMS0w_119f9e80-83c8-4b36-8277-7f2452ab4ba2"
      unitRef="usd">5763000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie1b58e04a8b34027811767211b7fabc2_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfNy00LTEtMS0w_9ce5ab12-9f4f-42e5-a1c6-66ae39930e50"
      unitRef="usd">5214000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i22724b43d60848c9abd198a90227d9a3_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfOC0yLTEtMS0w_453bfec6-0cc8-4ce7-9a43-a4b79dc1bd6e"
      unitRef="usd">3820000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2f2225f563434ad48ae0773f6485d362_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfOC00LTEtMS0w_f17f151a-1101-4f5f-9137-a9a54e54adf0"
      unitRef="usd">4189000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfOS0yLTEtMS0w_61167321-665d-4d89-8337-18ddb0395c46"
      unitRef="usd">276541000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfOS00LTEtMS0w_8161fdc0-42ac-47f5-a329-219dd59e5b95"
      unitRef="usd">247066000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ie891a1616a7a4c018ac10300638907dc_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTItMi0xLTEtMA_3cac5f7e-2c89-4696-a24c-37759a2cebe6"
      unitRef="usd">740000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i4ae494fe3fc54cebb5b97d00059ab11b_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTItNC0xLTEtMA_fad394d7-b455-42e6-b4b7-f19146d581e2"
      unitRef="usd">818000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i438de681cc894bc2901b4986acb88cd9_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTMtMi0xLTEtMA_c65f39ed-fdf4-4898-8827-9a78e3989b52"
      unitRef="usd">8027000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i3d1df32ae61c4d9195656acb516102f8_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTMtNC0xLTEtMA_3d7efa44-d27d-47ab-967d-bdc6bc8e21b8"
      unitRef="usd">6682000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="if1a1e6c97d224c17a27f96bcd025b788_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTQtMi0xLTEtMA_80fd79d9-4e4c-4f52-8999-e7d479238390"
      unitRef="usd">131779000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ifbfe303c068f4c138370d434322e9859_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTQtNC0xLTEtMA_6b936958-f3e8-4c42-832b-f891c7627643"
      unitRef="usd">117160000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ie84c2a45cd6a4877a7182c409a4cc863_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTUtMi0xLTEtMA_4cdbd03c-8f50-4127-92de-df3f8f300863"
      unitRef="usd">4385000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ie1b58e04a8b34027811767211b7fabc2_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTUtNC0xLTEtMA_a5c2176e-7665-47fc-bb69-a7de074a1416"
      unitRef="usd">3452000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i22724b43d60848c9abd198a90227d9a3_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTYtMi0xLTEtMA_c8bf7b94-adde-4999-9e26-1853598be1e1"
      unitRef="usd">2479000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i2f2225f563434ad48ae0773f6485d362_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTYtNC0xLTEtMA_780f578b-770f-47f3-af42-655fb19a84f9"
      unitRef="usd">2906000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTctMi0xLTEtMA_594bdbc9-3582-4812-a790-113143f6070d"
      unitRef="usd">147410000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTctNC0xLTEtMA_941f68b6-ffb7-4ece-bd0a-7ebb88d85356"
      unitRef="usd">131018000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTktMi0xLTEtMA_4e7e44ef-5e6a-42a9-82ab-1c0bcdeee8d2"
      unitRef="usd">129131000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMTktNC0xLTEtMA_f8424c3d-0485-4fee-a330-db2905e79861"
      unitRef="usd">116048000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjEtMi0xLTEtMA_f3bc0981-1e36-4e21-b25d-f763a3efd9b8"
      unitRef="usd">67485000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjEtNC0xLTEtMA_d8c71596-8f63-448a-8820-f97eddd885f8"
      unitRef="usd">57766000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjItMi0xLTEtMA_d651c416-52b6-401e-bebf-2a9a840f94e1"
      unitRef="usd">22361000</us-gaap:ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost>
    <us-gaap:ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjItNC0xLTEtMA_deb0d180-03e8-4cd1-88f8-5c46805ef6a5"
      unitRef="usd">18941000</us-gaap:ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost>
    <tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjMtMi0xLTEtMA_ba94980d-6f14-49b2-97af-2e0e9059a54a"
      unitRef="usd">5392000</tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets>
    <tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjMtNC0xLTEtMA_ce57b227-7eaf-44e6-89df-54eb8f543e59"
      unitRef="usd">4850000</tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets>
    <us-gaap:OperatingIncomeLoss
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjUtMi0xLTEtMA_82ab0b99-8ff5-42dd-873f-7cf5361f790e"
      unitRef="usd">33893000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjUtNC0xLTEtMA_bd09f1ed-6b14-48ff-ba4d-a8f8133a9d35"
      unitRef="usd">34491000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjctMi0xLTEtMA_7ae9ef07-35d8-4ac9-ab0c-5864f0167d69"
      unitRef="usd">990000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjctNC0xLTEtMA_82fa5191-9766-43e6-a28a-0a925bd4676a"
      unitRef="usd">586000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjgtMi0xLTEtMA_64c1b889-2f98-4c4e-a7cb-d2ec3c23ddb5"
      unitRef="usd">34883000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjgtNC0xLTEtMA_8bbd9b21-2d3e-4b30-871f-202c3b5d18b7"
      unitRef="usd">35077000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjktMi0xLTEtMA_94117ec0-9412-4c54-b901-16972cf1cd7f"
      unitRef="usd">-12667000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMjktNC0xLTEtMA_02347b87-ed53-47c4-bfdd-2b329f7025e3"
      unitRef="usd">7729000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMzAtMi0xLTEtMA_031fa37d-a203-4a2f-883b-32f10094dc3d"
      unitRef="usd">47550000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMzAtNC0xLTEtMA_c74bfe51-a510-481b-ae4a-b423e9431ead"
      unitRef="usd">27348000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMzMtMi0xLTEtMA_2f155b96-9818-44a4-8032-ee7fae16ef0c"
      unitRef="usdPerShare">1.20</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMzMtNC0xLTEtMA_522f8f8c-3cd3-4b5f-89ee-e650ed9e5c22"
      unitRef="usdPerShare">0.71</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMzQtMi0xLTEtMA_c0d83eb8-4e28-4af1-b267-435910342807"
      unitRef="usdPerShare">1.16</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMy9mcmFnOmFhOWI2MDI0YzU2NTRlMWQ4MDMzYTQ2MTQ1MTEzYzJiL3RhYmxlOmEzZmI5Mzk2YTgxMjQzMThhMTlkMGUxODk3NGU3MGNiL3RhYmxlcmFuZ2U6YTNmYjkzOTZhODEyNDMxOGExOWQwZTE4OTc0ZTcwY2JfMzQtNC0xLTEtMA_44d8acb0-22e5-4c86-bf77-8c055054f6b2"
      unitRef="usdPerShare">0.69</us-gaap:EarningsPerShareDiluted>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMy0yLTEtMS0w_70e1e6c1-f0e7-430b-b79a-beda8207a28a"
      unitRef="usd">301985000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMy00LTEtMS0w_aa78e477-a90e-4964-bd83-1a7b43e9ae49"
      unitRef="usd">232682000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNC0wLTEtMS0wL3RleHRyZWdpb246NTg3NzJhY2M5ZjZhNGUyOTg5Y2U0ZjM0MDBhOGQ2NDNfNjU5NzA2OTc2Njc3NQ_13e9060c-08ac-4b62-9d75-8f7a2650160c"
      unitRef="usd">6470000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNC0wLTEtMS0wL3RleHRyZWdpb246NTg3NzJhY2M5ZjZhNGUyOTg5Y2U0ZjM0MDBhOGQ2NDNfNjU5NzA2OTc2Njc3MA_e0d5044b-e12b-4866-89cd-f7a173f0b012"
      unitRef="usd">5738000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNC0yLTEtMS0w_b6f82579-4ece-421d-9a71-3d64245213ab"
      unitRef="usd">318144000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNC00LTEtMS0w_3218ab74-70dd-49aa-adae-6969dfc3a763"
      unitRef="usd">374089000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ShortTermInvestments
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNS0yLTEtMS0w_a2a871ca-f535-4b03-adac-4bf821f29cfe"
      unitRef="usd">38250000</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNS00LTEtMS0w_967530b2-db0a-47a9-a3f7-302be579f561"
      unitRef="usd">39399000</us-gaap:ShortTermInvestments>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNi0yLTEtMS0w_f1b96408-1a1a-406e-9e6a-6772adefe0ff"
      unitRef="usd">33964000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNi00LTEtMS0w_44f5f733-b800-4e72-8af1-2161d3ad0d92"
      unitRef="usd">24717000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:IncomeTaxReceivable
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNy0yLTEtMS0w_50079de8-8dd8-40f0-b9c1-6d1b16b4c1a5"
      unitRef="usd">16657000</us-gaap:IncomeTaxReceivable>
    <us-gaap:IncomeTaxReceivable
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNy00LTEtMS0w_5158d89b-f64f-41c7-8fc4-156bf0a2652e"
      unitRef="usd">6482000</us-gaap:IncomeTaxReceivable>
    <us-gaap:OtherAssetsCurrent
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfOC0yLTEtMS0w_4826c4fb-21da-4eaa-a035-8f45012ef64b"
      unitRef="usd">3220000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfOC00LTEtMS0w_27400433-e2e5-4271-a4dc-988ac6e59732"
      unitRef="usd">2328000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfOS0yLTEtMS0w_74bccebd-94d8-468e-9bde-f92a276d00e9"
      unitRef="usd">712220000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfOS00LTEtMS0w_84df8031-7b8a-4ff1-a360-949b9e47881b"
      unitRef="usd">679697000</us-gaap:AssetsCurrent>
    <us-gaap:AccountsReceivableNetNoncurrent
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTEtMi0xLTEtMA_369a4881-f90a-4feb-a4d6-d052ade240a7"
      unitRef="usd">21394000</us-gaap:AccountsReceivableNetNoncurrent>
    <us-gaap:AccountsReceivableNetNoncurrent
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTEtNC0xLTEtMA_a36e3db1-007c-4c2c-8dae-ea87c5187fcf"
      unitRef="usd">22432000</us-gaap:AccountsReceivableNetNoncurrent>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTItMi0xLTEtMA_3180d6c0-b8d1-4eb3-90e0-ae8e142afb17"
      unitRef="usd">17992000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTItNC0xLTEtMA_186b34d0-829c-424e-bb5a-bfe4e1d2255e"
      unitRef="usd">18992000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTMtMi0xLTEtMA_e6f11eab-3cc6-4f7e-bedb-eb7e41456a44"
      unitRef="usd">175460000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTMtNC0xLTEtMA_381a4b62-489b-4ee1-a979-0b836c19726b"
      unitRef="usd">171861000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Goodwill
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTUtMi0xLTEtMA_109ddb9c-b429-4f5f-9da1-fb5c187585c0"
      unitRef="usd">840028000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTUtNC0xLTEtMA_68184bcc-bd8a-417d-a494-a366ba85f0d0"
      unitRef="usd">840117000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTYtMi0xLTEtMA_a6757a0f-f40a-42cb-b489-432fc85c3800"
      unitRef="usd">366506000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTYtNC0xLTEtMA_0ff91c95-2556-48ce-8b37-c3ff45a77ef8"
      unitRef="usd">378914000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:InvestmentsAndOtherNoncurrentAssets
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTctMi0xLTEtMA_32b957c4-a90c-4b74-97f3-8d829db380d8"
      unitRef="usd">85776000</us-gaap:InvestmentsAndOtherNoncurrentAssets>
    <us-gaap:InvestmentsAndOtherNoncurrentAssets
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTctNC0xLTEtMA_8a1a73ee-5c67-491d-a940-2b9f18f9de35"
      unitRef="usd">79601000</us-gaap:InvestmentsAndOtherNoncurrentAssets>
    <us-gaap:Assets
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTgtMi0xLTEtMA_f32136b3-bc31-4a82-9e3d-dfebea9edc14"
      unitRef="usd">2219376000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMTgtNC0xLTEtMA_1a3e4723-2cac-419e-bad0-b1d76319075b"
      unitRef="usd">2191614000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjItMi0xLTEtMA_bba6d80e-e166-4d0c-93f1-f1f2ae7ce0c9"
      unitRef="usd">12958000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjItNC0xLTEtMA_412e9345-307d-4a02-84f5-6ad18cf74c21"
      unitRef="usd">14977000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjMtMi0xLTEtMA_7c625bf3-3e0a-4c40-930d-22db27443c2f"
      unitRef="usd">59765000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjMtNC0xLTEtMA_9ba3e45c-9271-4fd1-b1b3-ab6375f653f3"
      unitRef="usd">75234000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjQtMi0xLTEtMA_817930b3-96de-409c-96a4-5f4eed5e6f0c"
      unitRef="usd">6373000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjQtNC0xLTEtMA_d193bc52-417d-4f5a-aef0-1d7a1501f490"
      unitRef="usd">6387000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjUtMi0xLTEtMA_a8554922-94fd-4deb-8dd8-aded2f2dea5e"
      unitRef="usd">0</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjUtNC0xLTEtMA_39562e05-9674-4249-ab79-41f6b2876db5"
      unitRef="usd">0</us-gaap:TaxesPayableCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjYtMi0xLTEtMA_520084e2-d7dc-4fe5-825e-ef01c2990211"
      unitRef="usd">365959000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjYtNC0xLTEtMA_9aea4269-5d5b-4fb9-8ac3-e6780425997d"
      unitRef="usd">412495000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjgtMi0xLTEtMA_a1ad424e-4c9e-4470-9b43-ae3ae5328fde"
      unitRef="usd">445055000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMjgtNC0xLTEtMA_0757e40f-3a09-42c2-9328-356bf1ec4682"
      unitRef="usd">509093000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermLineOfCredit
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzAtMi0xLTEtMA_05c42697-8e7b-4bcb-af6c-17da5468b1cb"
      unitRef="usd">0</us-gaap:LongTermLineOfCredit>
    <us-gaap:LongTermLineOfCredit
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzAtNC0xLTEtMA_c66b01c4-0d15-4c2f-91fa-c6009bac53d1"
      unitRef="usd">0</us-gaap:LongTermLineOfCredit>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzEtMi0xLTEtMA_d84d8d5f-2478-4180-9f71-636193d430cc"
      unitRef="usd">167000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzEtNC0xLTEtMA_a352f2c6-a8a4-4a90-af83-b3c9d9965a84"
      unitRef="usd">199000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzItMi0xLTEtMA_0079eddd-ebc4-49dd-aed9-e78eb152b8ce"
      unitRef="usd">45774000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzItNC0xLTEtMA_c9e47e31-0f61-44a7-9ec9-c384a9f8006f"
      unitRef="usd">48442000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzMtMi0xLTEtMA_c2068421-b9bf-4c36-9383-68bf9726c51f"
      unitRef="usd">15548000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzMtNC0xLTEtMA_fc6d2f87-4835-4508-8df8-e8a6c4cbe0d6"
      unitRef="usd">16822000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzUtMi0xLTEtMA_6520dc6c-93d9-463c-971f-7859ad4230d9"
      unitRef="usd">0</us-gaap:CommitmentsAndContingencies>
    <us-gaap:CommitmentsAndContingencies
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzUtNC0xLTEtMA_5a413148-a486-43fb-952a-a0fc625be672"
      unitRef="usd">0</us-gaap:CommitmentsAndContingencies>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOjIzYjMzZWUxYjA1MDRmOWY4M2M4MzgxOGJmMWNmYjQ5XzY1OTcwNjk3NjY3NDE_ddc24bbd-ce08-48d9-b75f-a26c6b9198ff"
      unitRef="usdPerShare">10.00</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOjIzYjMzZWUxYjA1MDRmOWY4M2M4MzgxOGJmMWNmYjQ5XzY1OTcwNjk3NjY3NDE_fd9aa06a-58fc-43ac-b0c0-3969b6d52409"
      unitRef="usdPerShare">10.00</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOjIzYjMzZWUxYjA1MDRmOWY4M2M4MzgxOGJmMWNmYjQ5XzY1OTcwNjk3NjY3NTI_184f1cc3-df6f-4824-8641-9e6e5e147293"
      unitRef="shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOjIzYjMzZWUxYjA1MDRmOWY4M2M4MzgxOGJmMWNmYjQ5XzY1OTcwNjk3NjY3NTI_7ff6fc83-7fe9-4c43-b1c8-fb3f72f5c343"
      unitRef="shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOjIzYjMzZWUxYjA1MDRmOWY4M2M4MzgxOGJmMWNmYjQ5XzY1OTcwNjk3NjY3NTg_0fcc4d66-1634-427d-a784-fc6decc1666f"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzgtMC0xLTEtMC90ZXh0cmVnaW9uOjIzYjMzZWUxYjA1MDRmOWY4M2M4MzgxOGJmMWNmYjQ5XzY1OTcwNjk3NjY3NTg_cef57ca0-f240-4052-98a1-c18b0999b708"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockValue
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzgtMi0xLTEtMA_134cb2c5-bec5-40d8-8333-b5c2c175b09f"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzgtNC0xLTEtMA_aa8cceff-5b49-4ec7-893b-550c0929a713"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzktMC0xLTEtMC90ZXh0cmVnaW9uOjFkZjAwNzdjMjBkYjQ1MzA4NjU5NTIwMGNjZjlkNDhhXzY1OTcwNjk3NjcwMDg_0cce93f2-1e75-4f50-9b39-0455a903027f"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzktMC0xLTEtMC90ZXh0cmVnaW9uOjFkZjAwNzdjMjBkYjQ1MzA4NjU5NTIwMGNjZjlkNDhhXzY1OTcwNjk3NjcwMDg_258df59c-7da6-46ec-9135-8c64f60d0e4a"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzktMC0xLTEtMC90ZXh0cmVnaW9uOjFkZjAwNzdjMjBkYjQ1MzA4NjU5NTIwMGNjZjlkNDhhXzY1OTcwNjk3NjcwMjE_1f7a6f87-3bee-4fab-822c-dad3d2b42c2c"
      unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzktMC0xLTEtMC90ZXh0cmVnaW9uOjFkZjAwNzdjMjBkYjQ1MzA4NjU5NTIwMGNjZjlkNDhhXzY1OTcwNjk3NjcwMjE_d5d2661a-f89a-42ec-9365-f62f7394b235"
      unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzktMC0xLTEtMC90ZXh0cmVnaW9uOjFkZjAwNzdjMjBkYjQ1MzA4NjU5NTIwMGNjZjlkNDhhXzY1OTcwNjk3NjcwMzM_43870523-e7ac-4d7f-a09c-9bb084f4cd9a"
      unitRef="shares">48147969</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzktMC0xLTEtMC90ZXh0cmVnaW9uOjFkZjAwNzdjMjBkYjQ1MzA4NjU5NTIwMGNjZjlkNDhhXzY1OTcwNjk3NjcwMzM_b6440546-2e48-4ca3-b94b-bcd08ba633f9"
      unitRef="shares">48147969</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzktMC0xLTEtMC90ZXh0cmVnaW9uOjFkZjAwNzdjMjBkYjQ1MzA4NjU5NTIwMGNjZjlkNDhhXzY1OTcwNjk3NjcwMzM_fbe5d078-e07d-4634-9f2a-b9c2b3007ee9"
      unitRef="shares">48147969</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzktMC0xLTEtMC90ZXh0cmVnaW9uOjFkZjAwNzdjMjBkYjQ1MzA4NjU5NTIwMGNjZjlkNDhhXzY1OTcwNjk3NjcwMzM_fc99de3f-377b-41e7-aed5-ea19f15f81e5"
      unitRef="shares">48147969</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzktMi0xLTEtMA_e2c5ced8-55b2-4478-b5ca-9f4e9a2465ad"
      unitRef="usd">481000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfMzktNC0xLTEtMA_1feec846-8ce4-40ad-9417-3fb3d27365b3"
      unitRef="usd">481000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDAtMi0xLTEtMA_6154ab02-9fb7-44c0-b9bf-c1e7baea3eee"
      unitRef="usd">798089000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDAtNC0xLTEtMA_9294ded3-a69a-489a-92ec-64dee13fe8e5"
      unitRef="usd">739478000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDEtMi0xLTEtMA_8fff71e4-bb52-4aae-bf3c-0b5ee5963c12"
      unitRef="usd">-46000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDEtNC0xLTEtMA_817a5bc9-f01e-4b4d-83d3-6c2778d169ca"
      unitRef="usd">-46000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDItMi0xLTEtMA_6eb2b49b-c5ee-4047-85ea-aa882c423171"
      unitRef="usd">964886000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDItNC0xLTEtMA_26d72187-4226-4140-ace2-c91641fc62b2"
      unitRef="usd">917336000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:TreasuryStockShares
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDMtMC0xLTEtMC90ZXh0cmVnaW9uOjdmYTE1NTVlMzQyOTQ1Y2I5MWZmMDY5OGU2NWM5MDY1XzY1OTcwNjk3NjY3NTQ_4d376093-43c6-428d-a3e6-c81ec0541727"
      unitRef="shares">8397086</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockShares
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDMtMC0xLTEtMC90ZXh0cmVnaW9uOjdmYTE1NTVlMzQyOTQ1Y2I5MWZmMDY5OGU2NWM5MDY1XzY1OTcwNjk3NjY3NDk_3e71e050-3bf4-4004-b27c-3c5ad7171a19"
      unitRef="shares">8839352</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockValue
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDMtMi0xLTEtMA_b67b0849-22f5-4727-bcdb-bffa7566a62d"
      unitRef="usd">50578000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDMtNC0xLTEtMA_86e5db0e-7e8a-48c4-bf8f-86378327ab03"
      unitRef="usd">40191000</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDQtMi0xLTEtMA_545a6ba8-b07a-4005-9160-8f00191aa382"
      unitRef="usd">1712832000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDQtNC0xLTEtMA_d1fb7ff4-20b4-49d0-ac79-65d886ee5ef4"
      unitRef="usd">1617058000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDUtMi0xLTEtMA_95038162-3866-4a0b-acea-99a0acd523b6"
      unitRef="usd">2219376000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xNi9mcmFnOjc4M2NkMGE1NzMzMzQwODk5MTczY2IwNWU1YmZhMmY1L3RhYmxlOmMwNjM5OGUxMDgwNTQ3MjI4Mzk2M2ZmN2ZiZDY5NWJkL3RhYmxlcmFuZ2U6YzA2Mzk4ZTEwODA1NDcyMjgzOTYzZmY3ZmJkNjk1YmRfNDUtNC0xLTEtMA_21c291b3-2f2a-4a80-a1d9-0dbed621717a"
      unitRef="usd">2191614000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMy0yLTEtMS0w_002eac9d-e4de-4f14-9840-46f51a92a1c0"
      unitRef="usd">47550000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMy00LTEtMS0w_2596f0fb-e4b3-4a7e-871f-62d761c4d072"
      unitRef="usd">27348000</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfNS0yLTEtMS0w_a5e61b0f-5fbf-444e-b357-c429b9b9a9d7"
      unitRef="usd">19985000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfNS00LTEtMS0w_00c8cbdb-8ce7-4e0b-8e34-acfc14512993"
      unitRef="usd">17308000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfNi0yLTEtMS0w_8178d3c0-df20-47d5-a90d-646685cc2565"
      unitRef="usd">17302000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfNi00LTEtMS0w_5764bafa-5eab-4bbc-9d5d-2a992378c64a"
      unitRef="usd">14416000</us-gaap:ShareBasedCompensation>
    <tyl:OperatingLeaseRightOfUseAssetsNonCash
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfNy0yLTEtMS0w_fda28d6a-7842-4d16-b8c3-16844fec99ea"
      unitRef="usd">1457000</tyl:OperatingLeaseRightOfUseAssetsNonCash>
    <tyl:OperatingLeaseRightOfUseAssetsNonCash
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfNy00LTEtMS0w_6a3c5250-5bb3-41b6-a1a2-3c6c64b78d87"
      unitRef="usd">1165000</tyl:OperatingLeaseRightOfUseAssetsNonCash>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfOC0yLTEtMS0w_9af7286d-4a1f-4e60-be33-6c07dacef849"
      unitRef="usd">-2668000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfOC00LTEtMS0w_ecba10ba-ea22-45ce-98fd-b40b45cbb300"
      unitRef="usd">-4785000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTAtMi0xLTEtMA_b518afe1-3b97-48ee-a8e9-c34ea2f5da02"
      unitRef="usd">-56982000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTAtNC0xLTEtMA_42ea0d4e-ae8f-406a-b8b5-49da3e52fc8b"
      unitRef="usd">-9622000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTEtMi0xLTEtMA_3d70f286-a6cb-4fa5-a2cb-4ab9f75aedd0"
      unitRef="usd">-10175000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTEtNC0xLTEtMA_f88645a0-f63f-46eb-b608-a2a0cabd1940"
      unitRef="usd">12425000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTItMi0xLTEtMA_5bab13e3-cfd9-494d-a9b8-e795a6ad47db"
      unitRef="usd">11186000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTItNC0xLTEtMA_e585f741-bdeb-4696-a4b7-7a737b23e759"
      unitRef="usd">3862000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTMtMi0xLTEtMA_9fd1db46-5c92-42e9-9af0-07567e84b4c9"
      unitRef="usd">-2020000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTMtNC0xLTEtMA_b970a179-bdfa-4714-be21-18c80ed96ab5"
      unitRef="usd">-1501000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <tyl:IncreaseDecreaseInOperatingLeaseLiabilities
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTQtMi0xLTEtMA_987b9b17-0fe2-4862-8c44-389ba2fcf3d8"
      unitRef="usd">-1743000</tyl:IncreaseDecreaseInOperatingLeaseLiabilities>
    <tyl:IncreaseDecreaseInOperatingLeaseLiabilities
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTQtNC0xLTEtMA_b1144afb-0261-45d4-8760-fdd256472bdd"
      unitRef="usd">-1272000</tyl:IncreaseDecreaseInOperatingLeaseLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTUtMi0xLTEtMA_51b93630-e0d7-4dce-a448-b4470d826ec2"
      unitRef="usd">-12210000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTUtNC0xLTEtMA_a1ddd68d-69a9-441b-95ec-41658ac28cfd"
      unitRef="usd">-3760000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTYtMi0xLTEtMA_a65e3fc9-5a81-49d9-a251-f9ea8bcf4bbc"
      unitRef="usd">-46568000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTYtNC0xLTEtMA_8c423888-f975-429c-84da-dfb29913feb3"
      unitRef="usd">-43147000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTctMi0xLTEtMA_7f0ea97c-1de0-4da1-8b9f-ac59d8562aec"
      unitRef="usd">56706000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMTctNC0xLTEtMA_01d794ba-514e-4b58-9a32-ce7f38332715"
      unitRef="usd">23957000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjAtMi0xLTEtMA_8da57646-1001-4817-921d-d751108f6eb4"
      unitRef="usd">9349000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjAtNC0xLTEtMA_fe6803f2-8dfb-497a-b075-fce946d46548"
      unitRef="usd">12320000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireMarketableSecurities
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjEtMi0xLTEtMA_24a031d9-3678-41e0-86cd-fe1336b6fd9f"
      unitRef="usd">27271000</us-gaap:PaymentsToAcquireMarketableSecurities>
    <us-gaap:PaymentsToAcquireMarketableSecurities
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjEtNC0xLTEtMA_ea33c886-be64-4e5a-b967-ed33e3d2d426"
      unitRef="usd">3590000</us-gaap:PaymentsToAcquireMarketableSecurities>
    <us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjItMi0xLTEtMA_56121b39-542e-4967-8718-d6298de3158c"
      unitRef="usd">18237000</us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities>
    <us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjItNC0xLTEtMA_e86d7356-56e0-4927-9b43-df27ca9d274b"
      unitRef="usd">20276000</us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjQtMi0xLTEtMTY1OQ_045126bc-b2e3-4f17-8af7-e4ba7088eb43"
      unitRef="usd">10000000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjQtNC0xLTEtMjUwNw_5d4e87f6-3a68-4497-94f7-74cddd4566f6"
      unitRef="usd">0</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjUtMi0xLTEtMTY1NQ_b8ab5e23-ecc9-49f8-b8f6-29c8605f4926"
      unitRef="usd">15000000</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjUtNC0xLTEtMjUxMQ_aa3524b9-4a24-4577-9461-31f9d5ddee43"
      unitRef="usd">0</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <us-gaap:PaymentsForSoftware
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjMtMi0xLTEtMA_81c50bca-b41b-4743-9e82-e9102af7f676"
      unitRef="usd">1315000</us-gaap:PaymentsForSoftware>
    <us-gaap:PaymentsForSoftware
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjMtNC0xLTEtMA_4ea58ca6-6772-431d-8e67-ba76f866fde0"
      unitRef="usd">690000</us-gaap:PaymentsForSoftware>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjQtMi0xLTEtMA_811fcec2-e02e-44aa-83d5-2cd6e27ecac7"
      unitRef="usd">261000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjQtNC0xLTEtMA_ed087e6a-dc6e-4ec6-a0d5-43d81e539df3"
      unitRef="usd">199130000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjUtMi0xLTEtMA_73e652da-8a28-428f-841a-24db4f686100"
      unitRef="usd">48000</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjUtNC0xLTEtMA_a5f4ecc8-bf22-48eb-84f6-bee943c335f1"
      unitRef="usd">-564000</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjYtMi0xLTEtMA_23240026-3a50-4bac-adaf-98ce4c7f66fe"
      unitRef="usd">-15007000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjYtNC0xLTEtMA_b7acfce6-9cc3-4228-bc5c-af27e4e2d6f3"
      unitRef="usd">-194890000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzAtMi0xLTEtMTA0NA_58ba0842-e7d5-4448-9371-7da71b2d4b33"
      unitRef="usd">0</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzAtNC0xLTEtOTA0_251192d4-3192-4960-aa28-5d10cfedc3bf"
      unitRef="usd">85000000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjktMi0xLTEtMA_d1ea93cf-26b6-4a1e-a539-01ccc5a00d74"
      unitRef="usd">15482000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMjktNC0xLTEtMA_28dad873-14d2-4611-8fab-544e743949e8"
      unitRef="usd">17786000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzQtMi0xLTEtMTY0Mg_a6776f1c-947a-42d1-94da-d84e60ce1d61"
      unitRef="usd">5619000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzQtNC0xLTEtMjUxNw_20c0d9ba-805f-43ce-bbca-8fc24efdbcb9"
      unitRef="usd">0</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzAtMi0xLTEtMA_d6b6d338-ddbf-48eb-acf4-ecb5027c48e6"
      unitRef="usd">46236000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzAtNC0xLTEtMA_6041c0e7-ce2c-4a1b-83ea-9fee60be80a1"
      unitRef="usd">6528000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockPlans
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzEtMi0xLTEtMA_21de2d40-b7e1-47da-a0a8-096c6a8ee030"
      unitRef="usd">2469000</us-gaap:ProceedsFromStockPlans>
    <us-gaap:ProceedsFromStockPlans
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzEtNC0xLTEtMA_e5a59687-ab4e-42a7-ac41-1a92ed0162a8"
      unitRef="usd">2349000</us-gaap:ProceedsFromStockPlans>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzItMi0xLTEtMA_eedd5410-1343-4dd6-9e5f-b5d75f805e92"
      unitRef="usd">27604000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzItNC0xLTEtMA_0525d80a-7f83-4d46-ae1b-25f695d2f5e3"
      unitRef="usd">76091000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzQtMi0xLTEtMA_a4e49db7-62fd-4471-ac47-f721e89c69af"
      unitRef="usd">69303000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzQtNC0xLTEtMA_953558ac-90c9-44dc-b8b5-ab3f748fd068"
      unitRef="usd">-94842000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzUtMi0xLTEtMA_62d4aa99-2e75-4dfa-8fb7-132bc663179b"
      unitRef="usd">232682000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="if0aa42e674be4ee2b3de1fc28e9907d9_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzUtNC0xLTEtMA_169dce3b-ddcf-4022-a0d9-e71f2035cb5e"
      unitRef="usd">134279000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzYtMi0xLTEtMA_6755ef96-2272-4682-b4c9-bb6a16915c6e"
      unitRef="usd">301985000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i6775188fc49547f38d76e5875298883c_I20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yMi9mcmFnOjhhZmY3OGNlZTI3OTQ1ZDlhZGQxNDA0MmI2ZmJlMTdjL3RhYmxlOmRlMzlhMDhhNDc5NTQ0MWFiYzg2NDBiODYyNDVmMmZmL3RhYmxlcmFuZ2U6ZGUzOWEwOGE0Nzk1NDQxYWJjODY0MGI4NjI0NWYyZmZfMzYtNC0xLTEtMA_5df2e509-c19a-412e-bdd3-d9ae7da69bfd"
      unitRef="usd">39437000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:SharesIssued
      contextRef="i95c1e77adfe44862b1f0c39f244aed0f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfMi0xLTEtMS0w_2fbd101c-a340-4f1f-b8c5-c435c9410ed9"
      unitRef="shares">48148000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i95c1e77adfe44862b1f0c39f244aed0f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfMi0zLTEtMS0w_924851d9-48a5-4f57-aa3d-7877c00f9289"
      unitRef="usd">481000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib1ae2ee3e9d64c76a151fda0af049d4f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfMi01LTEtMS0w_0482e83c-90ed-45ed-8209-b603e5e5ef67"
      unitRef="usd">739478000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie25bb76b60504372b3811134dade1ad5_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfMi03LTEtMS0w_d6981d89-23f5-4851-b29a-09328e01ad84"
      unitRef="usd">-46000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iad2144fd9ddf41b78c9aa4cc22f802b1_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfMi05LTEtMS0w_1b2ec1e4-06cb-4950-a2a2-b961092907b1"
      unitRef="usd">917336000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="ia9960cd07d2f45aa8592a4abbb6c5e64_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfMi0xMS0xLTEtMA_99e82b4a-716d-47b3-80be-2ad55d5f059d"
      unitRef="shares">-8839000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="ia9960cd07d2f45aa8592a4abbb6c5e64_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfMi0xMy0xLTEtMA_e2493aed-5a5c-4ab7-9ca6-4af1a87a37d8"
      unitRef="usd">-40191000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfMi0xNS0xLTEtMA_82e96e07-05dd-4e24-9c83-7f37b8e10646"
      unitRef="usd">1617058000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfMy05LTEtMS0w_d5bb814a-5ce3-4248-8d88-90d1e7d3298c"
      unitRef="usd">47550000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfMy0xNS0xLTEtMA_318d436e-650e-44f0-bc8e-016221260dda"
      unitRef="usd">47550000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i0f0aa7b030d5468794b7b725a707046b_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNC01LTEtMS0w_87a8203c-993d-4312-83f4-0a7b07012fbb"
      unitRef="usd">38942000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i8f656cef9217415fb6511287294b8ec7_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNC0xMS0xLTEtMA_103a9533-14e6-49f0-9c8a-a2814c77243f"
      unitRef="shares">498000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i8f656cef9217415fb6511287294b8ec7_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNC0xMy0xLTEtMA_c7ea3008-6853-4652-9c41-4a2d87a892f9"
      unitRef="usd">7294000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNC0xNS0xLTEtMA_17b9f4d2-0e75-4df7-8903-5e1903c1024b"
      unitRef="usd">46236000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="i8f656cef9217415fb6511287294b8ec7_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNS0xMS0xLTEtMA_2052ccc8-0b4b-49a8-9c36-3407f71d6541"
      unitRef="shares">7000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i8f656cef9217415fb6511287294b8ec7_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNS0xMy0xLTEtMA_0d38bc6d-16c4-4408-99e9-5f960580d914"
      unitRef="usd">2301000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNS0xNS0xLTEtMA_1472f698-3313-4f20-b6e6-60038587798d"
      unitRef="usd">2301000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i0f0aa7b030d5468794b7b725a707046b_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNi01LTEtMS0w_501e0584-adfd-4c89-9481-ef835f19f8fe"
      unitRef="usd">17302000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNi0xNS0xLTEtMA_9526e94d-6098-4efd-b8ef-6ffb4a4b428f"
      unitRef="usd">17302000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i0f0aa7b030d5468794b7b725a707046b_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNy01LTEtMS0w_003a8c50-5740-4806-b9ae-8c78cc2192ba"
      unitRef="usd">2367000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i8f656cef9217415fb6511287294b8ec7_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNy0xMS0xLTEtMA_7c3829b2-e723-42d2-9762-e82fa95bab1e"
      unitRef="shares">10000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i8f656cef9217415fb6511287294b8ec7_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNy0xMy0xLTEtMA_81caa2ba-0cb7-4268-87d5-afa668b7d0a1"
      unitRef="usd">102000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfNy0xNS0xLTEtMA_1b1ef56a-d063-4317-90a3-450beb563f3f"
      unitRef="usd">2469000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i8f656cef9217415fb6511287294b8ec7_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOC0xMS0xLTEtMA_36b7023b-98bc-4647-9eb3-5f649f28de5f"
      unitRef="shares">59000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i8f656cef9217415fb6511287294b8ec7_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOC0xMy0xLTEtMA_4810bde6-416a-4852-b577-4bf3925fb9d2"
      unitRef="usd">15482000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOC0xNS0xLTEtMA_6f92b0a7-87d5-4a10-9414-3184c3094f50"
      unitRef="usd">15482000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:SharesIssued
      contextRef="ic429cf54cd604fbfbcc28f5998d31c49_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOS0xLTEtMS0w_2a5d91e5-e7f9-48f4-b8cd-c45ee79c4420"
      unitRef="shares">48148000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="ic429cf54cd604fbfbcc28f5998d31c49_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOS0zLTEtMS0w_257458ac-5aac-42bf-8f57-d7a77da847f5"
      unitRef="usd">481000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i0c7cf5f6fc2f4c89b71ef2c6e97c6de1_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOS01LTEtMS0w_0c2be66f-3576-4846-9976-a6e5eb7ce9da"
      unitRef="usd">798089000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4eb70c93f4fa411bad86bd10d674cb0e_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOS03LTEtMS0w_d9517830-8192-4326-af7a-dc29f654ce4d"
      unitRef="usd">-46000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i2701f41b4d2a449fa56cc719ab107f93_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOS05LTEtMS0w_9e1b9893-c3fc-486b-8fdd-ae9f28edec27"
      unitRef="usd">964886000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="ia089920120cf4415a75c227608672f35_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOS0xMS0xLTEtMA_502e7032-aa7c-4a2e-a8da-ce0e1a94fada"
      unitRef="shares">-8397000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="ia089920120cf4415a75c227608672f35_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOS0xMy0xLTEtMA_ff8e639c-4e1a-4ebf-953b-26088570a92f"
      unitRef="usd">-50578000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOmFhYjM5ZGE3MGFlZDQzZjY4Mjk1YWYzN2I5NjBkOWE0L3RhYmxlcmFuZ2U6YWFiMzlkYTcwYWVkNDNmNjgyOTVhZjM3Yjk2MGQ5YTRfOS0xNS0xLTEtMA_9af68f61-5a5e-4b77-b8e2-94a2b114f20b"
      unitRef="usd">1712832000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="i452e52ac341a45d3b1b7a595f341be00_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMi0xLTEtMS0w_d98b63b5-ae0e-4d9c-8639-98f598eeaa7b"
      unitRef="shares">48148000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i452e52ac341a45d3b1b7a595f341be00_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMi0zLTEtMS0w_f5c4573e-d4c6-4761-9a1d-0b03a7d0889c"
      unitRef="usd">481000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4c971661448d4f03ae15450aa38f9645_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMi01LTEtMS0w_aaf21b64-dc78-4c1a-9a4a-3482850f2901"
      unitRef="usd">731435000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic0ea1645202a41c992e1d5f88b7728d9_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMi03LTEtMS0w_e1992a75-93c1-47c9-a1c1-ba68e7c9aeb9"
      unitRef="usd">-46000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i42fd642707964f51b3582e09c9a0601f_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMi05LTEtMS0w_b6a60878-29e7-4dc5-9374-48805b6ec56a"
      unitRef="usd">771925000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="i2666add8085f4d34a75aabc4979b5b39_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMi0xMS0xLTEtMA_d5072a03-6894-4984-81a7-82a407cdbc91"
      unitRef="shares">-9872000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i2666add8085f4d34a75aabc4979b5b39_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMi0xMy0xLTEtMA_f038b445-3ed8-4569-ba80-9a3ad82f2c6e"
      unitRef="usd">-178949000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if0aa42e674be4ee2b3de1fc28e9907d9_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMi0xNS0xLTEtMA_43030598-3a00-46fe-9611-1c39274721f6"
      unitRef="usd">1324846000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7c228c8cb37f4258a6bd465af9068c44_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMy05LTEtMS0w_2b2bb745-daf6-48b9-9d70-d7aac6222b4a"
      unitRef="usd">-1116000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie55cea4470ba4158b99ac9d7f8f15f4f_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMy0xNS0xLTEtMA_725d643e-22ef-4deb-ae5e-484cd5dad6a8"
      unitRef="usd">-1116000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i4edd9cb5659c4b07b965e45ff62e66ac_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNC05LTEtMS0w_9586b072-6224-4626-a53e-e30b0dcddc8c"
      unitRef="usd">27348000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNC0xNS0xLTEtMA_654ebb2f-bedb-41db-9337-d2ba6876735e"
      unitRef="usd">27348000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="iefb48e54a90e4732af812d5d82572982_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNS01LTEtMS0w_00fac1d2-487a-439c-be81-937490a57465"
      unitRef="usd">-14405000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i63a912e4a674459c9231a2b270a61ce5_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNS0xMS0xLTEtMA_563278d8-dacd-47d4-8952-b6340559d0e9"
      unitRef="shares">111000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i63a912e4a674459c9231a2b270a61ce5_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNS0xMy0xLTEtMA_0c7f38a9-8462-4be2-aefa-048ef403638b"
      unitRef="usd">20933000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNS0xNS0xLTEtMA_137059dd-d2e0-4d7d-9890-0c5cdb3a0ee3"
      unitRef="usd">6528000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="i63a912e4a674459c9231a2b270a61ce5_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNi0xMS0xLTEtMA_de396601-522c-4714-8b30-4ba21139ad94"
      unitRef="shares">7000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i63a912e4a674459c9231a2b270a61ce5_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNi0xMy0xLTEtMA_b3f0a969-63e5-4c35-8a10-f83f3875e4df"
      unitRef="usd">1337000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNi0xNS0xLTEtMA_6a468448-407d-407e-b520-fb7f43e17fc2"
      unitRef="usd">1337000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="iefb48e54a90e4732af812d5d82572982_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNy01LTEtMS0w_606ec0fb-f524-4e43-86c7-8f2d88e6b8e2"
      unitRef="usd">14416000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfNy0xNS0xLTEtMA_2329b1da-bd8e-4c79-a5aa-ef1233c2fb55"
      unitRef="usd">14416000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="iefb48e54a90e4732af812d5d82572982_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfOC01LTEtMS0w_be7f19b6-939d-4f90-b783-2b95655cff46"
      unitRef="usd">-373000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i63a912e4a674459c9231a2b270a61ce5_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfOC0xMS0xLTEtMA_ceaeb842-68a0-400d-9a18-d2d2f085ec97"
      unitRef="shares">15000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i63a912e4a674459c9231a2b270a61ce5_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfOC0xMy0xLTEtMA_963d2fcd-7c56-4cc9-94aa-090a50315643"
      unitRef="usd">2722000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfOC0xNS0xLTEtMA_aa5ef464-8a66-4d54-8d9c-944656f55aeb"
      unitRef="usd">2349000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i63a912e4a674459c9231a2b270a61ce5_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfOS0xMS0xLTEtMA_287e6623-34f0-479c-8543-8a471daacfa0"
      unitRef="shares">72000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i63a912e4a674459c9231a2b270a61ce5_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfOS0xMy0xLTEtMA_c4e9dbe6-3c4a-44f6-b73d-839741b45806"
      unitRef="usd">14289000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfOS0xNS0xLTEtMA_dbe9ee82-41f7-486b-b05f-cf80ae030718"
      unitRef="usd">14289000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:SharesIssued
      contextRef="ic28c914a66344b88a58d0be2b67a426b_I20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMTAtMS0xLTEtMA_f61a2d9d-44d9-427d-986b-bea9f0e505a0"
      unitRef="shares">48148000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="ic28c914a66344b88a58d0be2b67a426b_I20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMTAtMy0xLTEtMA_66555274-fa25-40f4-8f92-356663348c5c"
      unitRef="usd">481000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i05854a2fbc114516890f7e84e7578b9b_I20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMTAtNS0xLTEtMA_1d1a0615-172f-4daa-8551-f248cae30219"
      unitRef="usd">731073000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5cfca337b14b432096c5016af25facd8_I20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMTAtNy0xLTEtMA_6f0a236a-f2e8-4544-b7fa-022bc5cb82fe"
      unitRef="usd">-46000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie246fba7f2ae4a4ead42939f25a072af_I20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMTAtOS0xLTEtMA_58c508c3-906a-41be-aa95-72200f41ddc4"
      unitRef="usd">798157000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="i5a7ea45253564e67bfce97082f1261e2_I20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMTAtMTEtMS0xLTA_af7dcd80-c354-4284-937e-de4adfaf8eac"
      unitRef="shares">-9825000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i5a7ea45253564e67bfce97082f1261e2_I20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMTAtMTMtMS0xLTA_894e43cb-62b8-4460-b190-cbf8aea4a062"
      unitRef="usd">-170920000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6775188fc49547f38d76e5875298883c_I20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8yNS9mcmFnOjdmMTEzMGMxNmMyODRmOTRiMmE4OWNhMGQ3Zjg5ZWY1L3RhYmxlOjNmMjNiMmU1ZmU5MDRhM2Q4NTBmNGE2YjZiMzU2NjgxL3RhYmxlcmFuZ2U6M2YyM2IyZTVmZTkwNGEzZDg1MGY0YTZiNmIzNTY2ODFfMTAtMTUtMS0xLTA_c04ff5e6-e159-464f-8620-05de82f83211"
      unitRef="usd">1358745000</us-gaap:StockholdersEquity>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zMS9mcmFnOmViZjY2YjI4N2M3YzRjZjRhZTI1NzZmODYwMTZjMjZkL3RleHRyZWdpb246ZWJmNjZiMjg3YzdjNGNmNGFlMjU3NmY4NjAxNmMyNmRfMTQ1NA_51d13f54-dcf5-4822-95f8-3d09cb8e07be">Basis of Presentation&lt;div&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;We prepared the accompanying condensed consolidated financial statements following the requirements of the Securities and Exchange Commission (&#x201c;SEC&#x201d;) and accounting principles generally accepted in the United States, or GAAP, for interim reporting. As permitted under those rules, certain footnotes or other financial information that are normally required by GAAP can be condensed or omitted for interim periods. Balance sheet amounts are as of March&#160;31, 2020, and December&#160;31, 2019, and operating result amounts are for the three months ended March&#160;31, 2020, and 2019, respectively, and include all normal and recurring adjustments that we considered necessary for the fair summarized presentation of our financial position and operating results. As these are condensed financial statements, one should also read the financial statements and notes included in our latest Form 10-K for the year ended December&#160;31, 2019. Revenues, expenses, assets and liabilities can vary during each quarter of the year. Therefore, the results and trends in these interim financial statements may not be the same as those for the full year. Certain amounts for the previous year have been reclassified to conform to the current year presentation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;margin-bottom:6pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Comprehensive income (loss) is defined as the change in equity of a business enterprise during a period from transactions, and other events and circumstances from non-owner sources and includes all components of net income (loss) and other comprehensive income (loss). We had no items of other comprehensive income (loss) for the three months ended March&#160;31, 2020, and 2019.&lt;/span&gt;&lt;/div&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfNzE0NjgyNTYxOTQwNQ_9a9dbe56-aa70-4169-accf-8183b4d88018">Accounting Standards and Significant Accounting Policies&lt;div style="margin-top:12pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;margin-bottom:6pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Except for the accounting policies for ASU 2016-13,&#160;&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"&gt;Financial Instruments -&#160;Credit&#160;Losses,&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;&#160;(&#x201c;ASU 2016-13&#x201d;&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"&gt;)&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;, there have been no changes to our significant accounting policies described in the Annual Report on Form 10-K for the year ended December&#160;31, 2019, filed with the SEC on February 19, 2020, that have had a material impact on our condensed consolidated financial statements and related notes.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;margin-bottom:6pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"&gt;Impact of the COVID-19 Pandemic&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;In March 2020, the World Health Organization declared the outbreak of COVID -19 a pandemic, which continues to spread throughout the U.S. and the world and has resulted in authorities implementing numerous measures to contain the virus, including travel bans and restrictions, quarantines, shelter-in-place orders, and business limitations and shutdowns. &lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#212529;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;While we &lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;are unable to accurately predict the full impact that COVID-19 will have on our results from operations, financial condition, liquidity and cash flows due to numerous uncertainties, including the duration and severity of the pandemic and containment measures and associated compliance, we do expect the current environment will negatively impact our revenues and other financial results for fiscal 2020. However, for the first quarter of 2020, we did not experience a material negative impact on our financial results associated with the pandemic.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Because an increasing portion of our revenues are recurring, the effect of COVID-19 on our results of operations may also not be fully reflected for some time. We expect to see some impact on our business in the near term, with possible delays in government procurement processes and delays in implementations caused by travel restrictions, closed offices, or clients shifting focus to more pressing issues. We are working to address those challenges through adapting the way we do business &#x2013; encouraging web and video conferencing, conducting sales demonstrations and delivering professional services remotely.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Our priorities during this crisis are protecting the health and safety of our employees and our clients. Our IT systems and applications support a remote workforce. Prior to the pandemic, many of our employees worked remotely. &lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%;"&gt; &lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;In response to the pandemic, we encouraged all employees who are able to do so to work from home, equipping them with resources necessary to continue uninterrupted. We were able to transition the vast majority of our employees to this work-from-home posture. This reduces the number of team members in our offices to those uniquely needed for essential on-site services, such as network operations support staff, and allows for &#x201c;social distancing&#x201d; as directed by the Centers for Disease Control ("CDC").&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;The pandemic has delayed some government procurement processes and is expected to impact our ability to complete certain implementations, negatively impacting our revenue. It could also negatively impact the timing of client payments to us.&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%;"&gt; &lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;We continue to monitor these trends in order to respond to the ever-changing impact of COVID-19 on our clients and Tyler&#x2019;s operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Recurring revenues, from subscriptions and maintenance revenues, for the three months ended March 31, 2020, comprise 71% of our total consolidated revenue, and include newer transaction-based revenue streams such as e-filing and online payments. As of March&#160;31, 2020, we had $392.6 million in cash and investments and no outstanding borrowings under our credit facility. We also have substantial additional liquidity available through our undrawn $400.0 million credit facility, which can be expanded through an accordion feature. For the first quarter of 2020, the negative impact of the COVID-19 pandemic was not material to our operating results. No asset impairments were recorded as of the balance sheet date as no triggering events or changes in circumstances occurred as of period-end to require such an impairment; however, due to significant uncertainty surrounding the pandemic, management&#x2019;s judgment regarding this could change in the future.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;USE OF ESTIMATES&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;The preparation of our financial statements in conformity with accounting principles generally accepted in the United States (&#x201c;GAAP&#x201d;) requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant items subject to such estimates and assumptions include revenue recognition, determining the nature and timing of satisfaction of performance obligations, determining the standalone selling price ("SSP") of performance obligations, variable consideration, and other obligations such as returns and refunds; loss contingencies; the estimated useful life of deferred commissions; the carrying amount and estimated useful lives of intangible assets; the carrying amount of operating lease right-of-use assets and operating lease liabilities; determining share-based compensation expense; the valuation allowance for receivables; and determining the potential outcome of future tax consequences of events that have been recognized on our consolidated financial statements or tax returns. Actual results could differ from estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;REVENUE RECOGNITION&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;"&gt;Nature of Products and Services:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;We earn revenue from software licenses, royalties, subscription-based services, software services, post-contract customer support (&#x201c;PCS&#x201d; or &#x201c;maintenance&#x201d;), hardware, and appraisal services. Revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services. We determine revenue recognition through the following steps:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;&#x2022;&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;"&gt;Identification of the contract, or contracts with a customer&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;&#x2022;&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;"&gt;Identification of the performance obligations in the contract &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;&#x2022;&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;"&gt;Determination of the transaction price&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;&#x2022;&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;"&gt;Allocation of the transaction price to the performance obligations in the contract&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;&#x2022;&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;"&gt;Recognition of revenue when, or as, we satisfy a performance obligation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Most of our software arrangements with customers contain multiple performance obligations that range from software licenses, installation, training, and consulting to software modification and customization to meet specific customer needs (services), hosting, and PCS. For these contracts, we account for individual performance obligations separately when they are distinct. We evaluate whether separate performance obligations can be distinct or should be accounted for as one performance obligation. Arrangements that include software services, such as training or installation, are evaluated to determine whether the customer can benefit from the services either on their own or together with other resources readily available to the customer and whether the services are separately identifiable from other promises in the contract. The transaction price is allocated to the distinct performance obligations on a relative SSP basis. We determine the SSP based on our overall pricing objectives, taking into consideration market conditions and other factors, including the value of our contracts, the applications sold, customer demographics, and the number and types of users within our contracts. Revenue is recognized net of allowances for sales adjustments and any taxes collected from customers, which are subsequently remitted to governmental authorities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;"&gt;Significant Judgments:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Our contracts with customers often include multiple performance obligations to a customer. When a software arrangement (license or subscription) includes both software licenses and software services, judgment is required to determine whether the software license is considered distinct and accounted for separately, or not distinct and accounted for together with the software services and recognized over time. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;The transaction price is allocated to the separate performance obligations on a relative SSP basis. We determine the SSP based on our overall pricing objectives, taking into consideration market conditions and other factors, including the value of our contracts, the applications sold, customer demographics, and the number and types of users within our contracts.&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%;"&gt; &lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;We use a range of amounts to estimate SSP when we sell each of the products and services separately and need to determine whether there is a discount to be allocated based on the relative SSP of the various products and services. In instances where SSP is not directly observable, such as when we do not sell the product or service separately, we determine SSP using the expected cost-plus margin approach.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;For arrangements that involve significant production, modification or customization of the software, or where software services otherwise cannot be considered distinct, we recognize revenue as control is transferred to the customer over time using progress-to-completion methods. Depending on the contract, we measure progress-to-completion primarily using labor hours incurred, or value added. The progress-to-completion method generally results in the recognition of reasonably consistent profit margins over the life of a contract because we can provide reasonably dependable estimates of contract billings and contract costs. We use the level of profit margin that is most likely to occur on a contract. If the most likely profit margin cannot be precisely determined, the lowest probable level of profit margin in the range of estimates is used until the results can be estimated more precisely. These arrangements are often implemented over an extended time period and occasionally require us to revise total cost estimates. Amounts recognized in revenue are calculated using the progress-to-completion measurement after giving effect to any changes in our cost estimates. Changes to total estimated contract costs, if any, are recorded in the period they are determined. Estimated losses on uncompleted contracts are recorded in the period in which we first determine that a loss is apparent.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Typically, the structure of our arrangements does not give rise to variable consideration. However, in those instances whereby variable consideration exists, we include in our estimates additional revenue for variable consideration when we believe we have an enforceable right, the amount can be estimated reliably and its realization is probable.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Refer to Note 13 - "Disaggregation of Revenue" for further information, including the economic factors that affect the nature, amount, timing, and uncertainty of revenue and cash flows of our various revenue categories.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;margin-bottom:6pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;"&gt;Contract Balances:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;margin-bottom:6pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"&gt;Accounts receivable and allowance for losses and sales adjustments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;margin-bottom:12pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Timing of revenue recognition may differ from the timing of invoicing to customers. We record an unbilled receivable when revenue is recognized prior to invoicing, or deferred revenue when revenue is recognized subsequent to invoicing. For multi-year agreements, we generally invoice customers annually at the beginning of each annual coverage period. We record an unbilled receivable related to revenue recognized for on-premises licenses as we have an unconditional right to invoice and receive payment in the future related to those licenses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;margin-bottom:12pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;At March&#160;31, 2020, and December&#160;31, 2019, total current and long-term accounts receivable, net of allowance for losses and sales adjustments, was $339.5 million and $396.5 million, respectively. We have recorded unbilled receivables of $134.5 million and $134.0 million at March&#160;31, 2020, and December&#160;31, 2019, respectively. Included in unbilled receivables are retention receivables of $12.5 million and $13.1 million at March&#160;31, 2020, and December&#160;31, 2019, respectively, which become payable upon the completion of the contract or completion of our fieldwork and formal hearings. Unbilled receivables expected to be collected within one year have been included with accounts receivable, current portion in the accompanying condensed consolidated balance sheets. Unbilled receivables and retention receivables expected to be collected past one year have been included with accounts receivable, long-term portion in the accompanying condensed consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;"&gt;We maintain allowances for losses and sales adjustments, which losses are recorded against revenue at the time of the loss is incurred. Since most of our clients are domestic governmental entities, we rarely incur a loss resulting from the inability of a client to make required payments. Events or changes in circumstances that indicate the carrying amount for the allowances for losses and sales  adjustments may require revision, include, but are not limited to, managing our client&#x2019;s expectations regarding the scope of the services to be delivered and defects or errors in new versions or enhancements of our software products. Our allowance for losses and sales adjustments of $6.5 million at March&#160;31, 2020, does not include provisions for credit losses. As of January 1, 2020, we adopted ASU 2016-13&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%;"&gt; Financial Instruments - Credit Losses &lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%;"&gt;and primarily evaluated our historical experience with credit losses related to trade and other receivables. Because we have not experienced any historical credit losses with the majority of our clients, we have no basis to record a reserve for credit losses as defined by the standard.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;margin-bottom:6pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;RECENTLY ADOPTED ACCOUNTING PRONOUNCEMENTS&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;margin-bottom:6pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;In June 2016, the FASB issued ASU 2016-13,&#160;&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"&gt;Financial Instruments -&#160;Credit&#160;Losses,&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;&#160;(&#x201c;ASU 2016-13&#x201d;). ASU 2016-13 changes the impairment model for most financial assets and certain other instruments, including trade and other receivables, available for-sale debt securities, held-to-maturity debt securities and loans, and requires entities to use a new forward-looking expected loss model that will result in the earlier recognition of an allowance for losses. This update is effective for fiscal years beginning after December 15, 2019, including interim periods within those fiscal years. Early adoption is permitted for a fiscal year beginning after December 15, 2018, including interim periods within that fiscal year. Entities apply the standard&#x2019;s provisions as a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is adopted.  As of January 1, 2020, we adopted the new standard with no material impact of credit losses to our trade and other receivables, held-to-maturity debt securities and retained earnings included in our condensed consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;margin-bottom:6pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;RECENTLY ISSUED ACCOUNTING PRONOUNCEMENTS&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:107%;"&gt;Accounting for Income Taxes &lt;/span&gt;&lt;/div&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;In December 2019, the FASB issued ASU 2019-12,&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"&gt; Simplifying the Accounting for Income Taxes&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;, ("ASU 2019-12") which simplifies the accounting for income taxes, eliminates certain exceptions within ASC 740, &lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"&gt;Income Taxes&lt;/span&gt;, and clarifies certain aspects of the current guidance to promote consistency among reporting entities. The new standard is effective for fiscal years beginning after December 15, 2020. Most amendments within the standard are required to be applied on a prospective basis, while certain amendments must be applied on a retrospective or modified retrospective basis. The Company does not expect adoption of this standard to have a material effect on the Company&#x2019;s consolidated financial statements.</us-gaap:SignificantAccountingPoliciesTextBlock>
    <tyl:RecurringRevenuePercentageOfTotalRevenue
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfNTQ5NzU1ODE2NzA1OA_ff1fc1d1-297e-4dd7-8bae-bdc285d3a6b1"
      unitRef="number">0.71</tyl:RecurringRevenuePercentageOfTotalRevenue>
    <us-gaap:CashCashEquivalentsAndShortTermInvestments
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfMTY0OTI2NzQ4MDIyMA_8f77447c-2b9e-441b-b011-3402e3f677fb"
      unitRef="usd">392600000</us-gaap:CashCashEquivalentsAndShortTermInvestments>
    <us-gaap:LongTermLineOfCredit
      contextRef="ib0673062db4f4bea81b579227d982082_I20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfMTY0OTI2NzQ3OTQ3Mg_a9314674-866a-4269-89eb-8d62cb3e4e73"
      unitRef="usd">0</us-gaap:LongTermLineOfCredit>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="ib0673062db4f4bea81b579227d982082_I20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfMTY0OTI2NzQ3MTg3OA_3474b05b-dda4-4f41-95d8-23a5221b0a98"
      unitRef="usd">400000000.0</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:UseOfEstimates
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfMTMwODA_3df26841-3f0e-47fa-8b50-d58bca5da2c2">&lt;div style="margin-top:12pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;USE OF ESTIMATES&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;The preparation of our financial statements in conformity with accounting principles generally accepted in the United States (&#x201c;GAAP&#x201d;) requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant items subject to such estimates and assumptions include revenue recognition, determining the nature and timing of satisfaction of performance obligations, determining the standalone selling price ("SSP") of performance obligations, variable consideration, and other obligations such as returns and refunds; loss contingencies; the estimated useful life of deferred commissions; the carrying amount and estimated useful lives of intangible assets; the carrying amount of operating lease right-of-use assets and operating lease liabilities; determining share-based compensation expense; the valuation allowance for receivables; and determining the potential outcome of future tax consequences of events that have been recognized on our consolidated financial statements or tax returns. Actual results could differ from estimates.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfMTMwODg_17c881cf-df78-4f31-a63c-a1cd25efc972">&lt;div style="margin-top:12pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;REVENUE RECOGNITION&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;"&gt;Nature of Products and Services:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;We earn revenue from software licenses, royalties, subscription-based services, software services, post-contract customer support (&#x201c;PCS&#x201d; or &#x201c;maintenance&#x201d;), hardware, and appraisal services. Revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services. We determine revenue recognition through the following steps:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;&#x2022;&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;"&gt;Identification of the contract, or contracts with a customer&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;&#x2022;&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;"&gt;Identification of the performance obligations in the contract &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;&#x2022;&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;"&gt;Determination of the transaction price&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;&#x2022;&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;"&gt;Allocation of the transaction price to the performance obligations in the contract&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:-18pt;padding-left:36pt;margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;&#x2022;&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;"&gt;Recognition of revenue when, or as, we satisfy a performance obligation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Most of our software arrangements with customers contain multiple performance obligations that range from software licenses, installation, training, and consulting to software modification and customization to meet specific customer needs (services), hosting, and PCS. For these contracts, we account for individual performance obligations separately when they are distinct. We evaluate whether separate performance obligations can be distinct or should be accounted for as one performance obligation. Arrangements that include software services, such as training or installation, are evaluated to determine whether the customer can benefit from the services either on their own or together with other resources readily available to the customer and whether the services are separately identifiable from other promises in the contract. The transaction price is allocated to the distinct performance obligations on a relative SSP basis. We determine the SSP based on our overall pricing objectives, taking into consideration market conditions and other factors, including the value of our contracts, the applications sold, customer demographics, and the number and types of users within our contracts. Revenue is recognized net of allowances for sales adjustments and any taxes collected from customers, which are subsequently remitted to governmental authorities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;"&gt;Significant Judgments:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Our contracts with customers often include multiple performance obligations to a customer. When a software arrangement (license or subscription) includes both software licenses and software services, judgment is required to determine whether the software license is considered distinct and accounted for separately, or not distinct and accounted for together with the software services and recognized over time. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;The transaction price is allocated to the separate performance obligations on a relative SSP basis. We determine the SSP based on our overall pricing objectives, taking into consideration market conditions and other factors, including the value of our contracts, the applications sold, customer demographics, and the number and types of users within our contracts.&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%;"&gt; &lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;We use a range of amounts to estimate SSP when we sell each of the products and services separately and need to determine whether there is a discount to be allocated based on the relative SSP of the various products and services. In instances where SSP is not directly observable, such as when we do not sell the product or service separately, we determine SSP using the expected cost-plus margin approach.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;For arrangements that involve significant production, modification or customization of the software, or where software services otherwise cannot be considered distinct, we recognize revenue as control is transferred to the customer over time using progress-to-completion methods. Depending on the contract, we measure progress-to-completion primarily using labor hours incurred, or value added. The progress-to-completion method generally results in the recognition of reasonably consistent profit margins over the life of a contract because we can provide reasonably dependable estimates of contract billings and contract costs. We use the level of profit margin that is most likely to occur on a contract. If the most likely profit margin cannot be precisely determined, the lowest probable level of profit margin in the range of estimates is used until the results can be estimated more precisely. These arrangements are often implemented over an extended time period and occasionally require us to revise total cost estimates. Amounts recognized in revenue are calculated using the progress-to-completion measurement after giving effect to any changes in our cost estimates. Changes to total estimated contract costs, if any, are recorded in the period they are determined. Estimated losses on uncompleted contracts are recorded in the period in which we first determine that a loss is apparent.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Typically, the structure of our arrangements does not give rise to variable consideration. However, in those instances whereby variable consideration exists, we include in our estimates additional revenue for variable consideration when we believe we have an enforceable right, the amount can be estimated reliably and its realization is probable.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfMTMwODM_a70118bb-07ec-473c-af54-7b78d2aa6e10">&lt;div style="margin-top:6pt;margin-bottom:6pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration: underline;"&gt;Contract Balances:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;margin-bottom:6pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"&gt;Accounts receivable and allowance for losses and sales adjustments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;margin-bottom:12pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Timing of revenue recognition may differ from the timing of invoicing to customers. We record an unbilled receivable when revenue is recognized prior to invoicing, or deferred revenue when revenue is recognized subsequent to invoicing. For multi-year agreements, we generally invoice customers annually at the beginning of each annual coverage period. We record an unbilled receivable related to revenue recognized for on-premises licenses as we have an unconditional right to invoice and receive payment in the future related to those licenses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;margin-bottom:12pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;At March&#160;31, 2020, and December&#160;31, 2019, total current and long-term accounts receivable, net of allowance for losses and sales adjustments, was $339.5 million and $396.5 million, respectively. We have recorded unbilled receivables of $134.5 million and $134.0 million at March&#160;31, 2020, and December&#160;31, 2019, respectively. Included in unbilled receivables are retention receivables of $12.5 million and $13.1 million at March&#160;31, 2020, and December&#160;31, 2019, respectively, which become payable upon the completion of the contract or completion of our fieldwork and formal hearings. Unbilled receivables expected to be collected within one year have been included with accounts receivable, current portion in the accompanying condensed consolidated balance sheets. Unbilled receivables and retention receivables expected to be collected past one year have been included with accounts receivable, long-term portion in the accompanying condensed consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;We maintain allowances for losses and sales adjustments, which losses are recorded against revenue at the time of the loss is incurred. Since most of our clients are domestic governmental entities, we rarely incur a loss resulting from the inability of a client to make required payments. Events or changes in circumstances that indicate the carrying amount for the allowances for losses and sales  adjustments may require revision, include, but are not limited to, managing our client&#x2019;s expectations regarding the scope of the services to be delivered and defects or errors in new versions or enhancements of our software products. Our allowance for losses and sales adjustments of $6.5 million at March&#160;31, 2020, does not include provisions for credit losses.</us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy>
    <us-gaap:AccountsReceivableNet
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfNzkwMg_2121bc86-0d03-4aae-a0fe-07ddbdd5f4f0"
      unitRef="usd">339500000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfNzkwOQ_33be8795-0d2a-46d4-af09-33d6dbe71caf"
      unitRef="usd">396500000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="i87a1ecdcb74944b4a441f12a92f14f16_I20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfNzk2OA_5988727a-c8d6-42cc-a8d2-714aef717afa"
      unitRef="usd">134500000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="i30c0f3448a6945928028fe4f059fc018_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfNzk3NQ_0c65184b-5b69-4b12-9bf2-99751a3342e0"
      unitRef="usd">134000000.0</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="i2dbbc6fbf92d4f748d67fbd276f6976c_I20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfODA2OQ_75ca1977-4442-4adb-b443-eb3f12d4f452"
      unitRef="usd">12500000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="ie314674e7fcd420c864a4b079ee49508_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfODA3Ng_23f2053e-bb53-400f-ba4e-921e0f84d69b"
      unitRef="usd">13100000</us-gaap:AccountsReceivableNet>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfMjE5OTAyMzI5ODc4NQ_c361a6be-578d-4278-9b8f-df8e32febcb0"
      unitRef="usd">6500000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNC9mcmFnOmI4NDNkZmIwOGZhNDQ0YmRiYWFkZTZhZDc5NjQ2NWM1L3RleHRyZWdpb246Yjg0M2RmYjA4ZmE0NDRiZGJhYWRlNmFkNzk2NDY1YzVfNzE0NjgyNTYxOTQwNA_dbc6bbc9-b741-45bf-b7db-6805ef3fe5fa">&lt;div style="margin-top:12pt;margin-bottom:6pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;RECENTLY ADOPTED ACCOUNTING PRONOUNCEMENTS&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;margin-bottom:6pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;In June 2016, the FASB issued ASU 2016-13,&#160;&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"&gt;Financial Instruments -&#160;Credit&#160;Losses,&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;&#160;(&#x201c;ASU 2016-13&#x201d;). ASU 2016-13 changes the impairment model for most financial assets and certain other instruments, including trade and other receivables, available for-sale debt securities, held-to-maturity debt securities and loans, and requires entities to use a new forward-looking expected loss model that will result in the earlier recognition of an allowance for losses. This update is effective for fiscal years beginning after December 15, 2019, including interim periods within those fiscal years. Early adoption is permitted for a fiscal year beginning after December 15, 2018, including interim periods within that fiscal year. Entities apply the standard&#x2019;s provisions as a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is adopted.  As of January 1, 2020, we adopted the new standard with no material impact of credit losses to our trade and other receivables, held-to-maturity debt securities and retained earnings included in our condensed consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;margin-bottom:6pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;RECENTLY ISSUED ACCOUNTING PRONOUNCEMENTS&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:107%;"&gt;Accounting for Income Taxes &lt;/span&gt;&lt;/div&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;In December 2019, the FASB issued ASU 2019-12,&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"&gt; Simplifying the Accounting for Income Taxes&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;, ("ASU 2019-12") which simplifies the accounting for income taxes, eliminates certain exceptions within ASC 740, &lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"&gt;Income Taxes&lt;/span&gt;, and clarifies certain aspects of the current guidance to promote consistency among reporting entities. The new standard is effective for fiscal years beginning after December 15, 2020. Most amendments within the standard are required to be applied on a prospective basis, while certain amendments must be applied on a retrospective or modified retrospective basis. The Company does not expect adoption of this standard to have a material effect on the Company&#x2019;s consolidated financial statements.</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNy9mcmFnOjZkNmM2NzQ2MTdhMzQ2Y2E4Mjc0ZTA0NmI4MjkzNTAwL3RleHRyZWdpb246NmQ2YzY3NDYxN2EzNDZjYTgyNzRlMDQ2YjgyOTM1MDBfNjU5NzA2OTc3NzIyOQ_8c649214-70f5-404c-be56-24c4f8516400">AcquisitionsOn February 28, 2019, we acquired all of the capital stock of MP Holdings Parent, Inc. dba MicroPact ("MicroPact"), a leading provider of commercial off-the-shelf solutions, including entellitrak&#xae;, a low-code application development platform for case management and business process management used extensively in the public sector.  In the three months ended March 31, 2020, we paid $5.6 million in contingent consideration. As of March&#160;31, 2020, we have no contingent consideration accrued as it relates to acquisitions completed in prior periods.</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="i406c48b63868432e99620710e3da2ecf_D20200228-20200228"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8zNy9mcmFnOjZkNmM2NzQ2MTdhMzQ2Y2E4Mjc0ZTA0NmI4MjkzNTAwL3RleHRyZWdpb246NmQ2YzY3NDYxN2EzNDZjYTgyNzRlMDQ2YjgyOTM1MDBfMTY0OTI2NzQ1MTc1MA_a663d8ee-c64b-4e60-9318-a195455dd8b8"
      unitRef="usd">5600000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RleHRyZWdpb246NWM0NDMxYzRjZWUwNDUzYWJmZTM3MzYyYTQyOGUyZjRfMjI5_c7dd326d-eb1b-4198-b58b-f481dab6bc68">Shareholders&#x2019; Equity&lt;div style="margin-top:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;The following table details activity in our common stock:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:89.035%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:41.513%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.621%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.479%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.621%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.315%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.621%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:9.658%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.606%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:12.942%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.624%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="21" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-bottom:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Purchases of treasury shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(59)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(15,482)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(72)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(14,289)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Stock option exercises &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;481&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;46,236&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;94&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;6,564&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Employee stock plan purchases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,469&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,349&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Restricted stock units vested, net of withheld shares upon award settlement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(2,301)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(1,373)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;As of March&#160;31, 2020, we have authorization from our board of directors to repurchase up to 2.6 million additional shares of our common stock.&lt;/span&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:ScheduleOfStockholdersEquityTableTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RleHRyZWdpb246NWM0NDMxYzRjZWUwNDUzYWJmZTM3MzYyYTQyOGUyZjRfMjM2_cada41b3-50a8-4245-b6be-20e011b82b77">&lt;div style="margin-top:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;The following table details activity in our common stock:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:89.035%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:41.513%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.621%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.479%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.621%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.315%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.621%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:9.658%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.606%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:12.942%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.624%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="21" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-bottom:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Purchases of treasury shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(59)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(15,482)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(72)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(14,289)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Stock option exercises &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;481&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;46,236&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;94&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;6,564&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Employee stock plan purchases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,469&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,349&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cff0fc;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Restricted stock units vested, net of withheld shares upon award settlement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(2,301)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(1,373)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfStockholdersEquityTableTextBlock>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfMy0yLTEtMS0w_35428593-091e-4ddf-99b7-c4ea1e5eaa3a"
      unitRef="shares">59000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfMy00LTEtMS0w_250e2e46-c62b-46b3-8772-2e849e8639fb"
      unitRef="usd">15482000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfMy02LTEtMS0w_1d0f29bf-ddc7-4512-a516-5b4fe6c783b8"
      unitRef="shares">72000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfMy04LTEtMS0w_3f56ab92-6c48-4f81-9717-14a8753b7030"
      unitRef="usd">14289000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNC0yLTEtMS0w_105253f0-408b-45e6-b94c-d32ad120ab6e"
      unitRef="shares">481000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNC00LTEtMS0w_809b42e3-b679-421e-a471-9c28316349e5"
      unitRef="usd">46236000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNC02LTEtMS0w_6c2a7c6e-d041-4ccf-96b0-a1aa88c10258"
      unitRef="shares">94000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNC04LTEtMS0w_d21a10ea-4759-4d77-a862-bb338679f63d"
      unitRef="usd">6564000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNS0yLTEtMS0w_11313605-1ad5-4a12-94d8-086650514a3a"
      unitRef="shares">10000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNS00LTEtMS0w_42c40b2b-7c94-48b5-986d-f4fc2651938f"
      unitRef="usd">2469000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNS02LTEtMS0w_6dee0af0-ea0e-495c-be67-81cec87b120f"
      unitRef="shares">15000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNS04LTEtMS0w_affc92ff-a62b-4d9b-a0d3-c8a797f58662"
      unitRef="usd">2349000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <tyl:ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNi0yLTEtMS0w_df6422a1-a3a1-4303-a96e-97f8f358d490"
      unitRef="shares">10000</tyl:ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement>
    <tyl:StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNi00LTEtMS0w_171ebb29-04c5-4b2e-9af8-d155e6cdadf2"
      unitRef="usd">2301000</tyl:StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement>
    <tyl:ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNi02LTEtMS0w_2c7bb79f-6044-4eef-9bc9-4ec366c3d0ee"
      unitRef="shares">10000</tyl:ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement>
    <tyl:StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RhYmxlOmZmYjJmMjU1Mjk3ODQwOWQ5Y2NkMmU5OTY2ZjY0ODE0L3RhYmxlcmFuZ2U6ZmZiMmYyNTUyOTc4NDA5ZDljY2QyZTk5NjZmNjQ4MTRfNi04LTEtMS0w_22b524a0-97c5-48b7-9cc1-48824b6c6792"
      unitRef="usd">1373000</tyl:StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80MC9mcmFnOjVjNDQzMWM0Y2VlMDQ1M2FiZmUzNzM2MmE0MjhlMmY0L3RleHRyZWdpb246NWM0NDMxYzRjZWUwNDUzYWJmZTM3MzYyYTQyOGUyZjRfMTg2_894e959f-f5c2-4881-9f0c-31d0dd1bc2c7"
      unitRef="shares">2600000</us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfMTA0Mg_cd5fe555-e734-41bd-b87f-b46de796f44e">Deferred CommissionsSales commissions earned by our sales force are considered incremental and recoverable costs of obtaining a contract with a customer. Sales commissions for initial contracts are deferred and then amortized commensurate with the recognition of associated revenue over a period of benefit that we have determined to be &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfMzQ3_ffd0ccce-aade-4ac4-927b-cf2eaf701cc5"&gt;three&lt;/span&gt; to seven years. Deferred commissions were&#160;$30.9 million&#160;and $29.8 million as of March&#160;31, 2020,&#160;and&#160;December&#160;31, 2019, respectively. Amortization expense was $3.9 million for the&#160;three months ended March&#160;31, 2020, and&#160;$3.8 million for the&#160;three months ended March&#160;31, 2019. There were no indicators of impairment in relation to the costs capitalized for the periods presented. Deferred commissions have been included with prepaid expenses for the current portion and non-current other assets for the long-term portion in the accompanying condensed consolidated balance sheets. Amortization expense related to deferred commissions is included in Selling, general and administrative expenses in the accompanying condensed consolidated statements of income.Disaggregation of Revenue&lt;div style="text-indent:-9pt;margin-top:12pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;    The tables below show disaggregation of revenue into categories that reflect how economic factors affect the nature, amount, timing, and uncertainty of revenue and cash flows.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:-9pt;margin-top:12pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"&gt;    Timing of Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:-9pt;margin-top:12pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;    Timing of revenue recognition by revenue category during the period is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-top:12pt;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:43.078%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:15.546%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:15.546%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:15.691%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;For the three months ended March 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Products and services transferred at a point in time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Products and services transferred over time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;16,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,671&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;18,737&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;81,723&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;81,723&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;52,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;52,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;114,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;114,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;3,820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;3,820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;19,886&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;256,655&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;276,541&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:43.301%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.501%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:15.531%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.501%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:15.531%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.501%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:15.534%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;For the three months ended March 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Products and services transferred at a point in time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Products and services transferred over time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;16,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,883&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;21,793&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;67,275&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;67,275&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;48,443&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;48,443&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;100,152&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;100,152&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,189&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,189&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;21,099&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;225,967&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;247,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center;"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"&gt;Recurring Revenue &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;The majority of our revenue is comprised of recurring revenues from maintenance and subscriptions. Virtually all of our on-premises software clients contract with us for maintenance and support, which provides us with a significant source of recurring revenue. We generally provide maintenance and support for our on-premises clients under annual, or in some cases, multi-year contracts. The contract terms for subscription arrangements range from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RleHRyZWdpb246ZjZmYmIxMzk5MWYxNGUzY2EwYjVmMDBlZDc2ZGNkZDZfODMy_52445c18-6c01-4972-858f-87b95f845d8e"&gt;one&lt;/span&gt; to 10 years but are typically contracted for initial periods of &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RleHRyZWdpb246ZjZmYmIxMzk5MWYxNGUzY2EwYjVmMDBlZDc2ZGNkZDZfODkz_c5a35317-6090-49f0-80d4-0ed5be63f368"&gt;three&lt;/span&gt; to five years, providing a significant source of recurring revenues on an annual basis. Non-recurring revenues are derived from all other revenue categories. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Recurring revenues and non-recurring revenues recognized during the period are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:45.503%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.410%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.410%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.410%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.415%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;For the three months ended March 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;181,485&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;14,603&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;196,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Non-recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;64,691&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;15,760&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;80,453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,001&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(4,019)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;250,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;30,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(4,017)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;276,541&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-top:9pt;"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:45.503%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.410%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.410%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.410%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.415%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;For the three months ended March 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;154,443&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;12,984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;167,427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Non-recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;63,108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;16,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;79,639&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;3,484&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(3,553)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;221,035&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;29,587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(3,556)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;247,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;Deferred Revenue and Performance Obligations&lt;div style="text-align:justify;margin-top:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Total deferred revenue, including long-term, by segment is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:75.877%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:48.674%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.763%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:21.699%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.763%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:21.701%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;March 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Enterprise Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;333,314&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;375,838&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;31,205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;35,487&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,607&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,369&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;366,126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;412,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Changes in total deferred revenue, including long-term, were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:76.754%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:73.238%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.133%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:21.429%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Three months ended March 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Balance as of December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;412,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Deferral of revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;198,324&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Recognition of deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(244,892)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Balance as of March 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;366,126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"&gt;Transaction Price Allocated to the Remaining Performance Obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;The aggregate amount of transaction price allocated to the remaining performance obligations represents contracted revenue that has not yet been recognized ("backlog"), which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods. Backlog as of March&#160;31, 2020, was $1.50 billion, of which we expect to recognize approximately 48% as revenue over the next 12 months and the remainder thereafter.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <tyl:SalesCommissionsAmortizationPeriod
      contextRef="iddae0efff8774178a4dbab5c433849a1_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfMzUz_c26b40bb-2ebb-4850-88a9-c015d09dcfae">P7Y</tyl:SalesCommissionsAmortizationPeriod>
    <us-gaap:CapitalizedContractCostNet
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfMzgz_d6302cbd-b309-4464-adb7-07dc8c2286f7"
      unitRef="usd">30900000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CapitalizedContractCostNet
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfMzkw_a020e557-5d42-49c8-9fd9-b7f958795d35"
      unitRef="usd">29800000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfNDUw_d86de4a9-b626-4c43-89bf-821ed0f90b46"
      unitRef="usd">3900000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfNTA2_39a6a31a-35a8-44c8-bb44-5bf41338090a"
      unitRef="usd">3800000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostImpairmentLoss
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfNTY5_a8769195-8d24-4fee-9de6-010bc04fd23f"
      unitRef="usd">0</us-gaap:CapitalizedContractCostImpairmentLoss>
    <us-gaap:CapitalizedContractCostImpairmentLoss
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80My9mcmFnOjBhMzExNTYzYjU2NTQ0ZmFiMzNmZGUzZTg5NzJlNTE2L3RleHRyZWdpb246MGEzMTE1NjNiNTY1NDRmYWIzM2ZkZTNlODk3MmU1MTZfNTY5_aebaea3b-2680-4059-b2e4-1a15d7c55c62"
      unitRef="usd">0</us-gaap:CapitalizedContractCostImpairmentLoss>
    <us-gaap:OtherAssetsDisclosureTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80OS9mcmFnOjczMGY4OTE5YWUyYzQyZjM5ZTVlNDVlMDdjYmRhMzc0L3RleHRyZWdpb246NzMwZjg5MTlhZTJjNDJmMzllNWU0NWUwN2NiZGEzNzRfNjU5NzA2OTc3MDgwMw_95b10d55-226e-44f8-a2bf-47b3f32712de">Other Assets&lt;div style="margin-top:6pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;As of March&#160;31, 2020, we have $90.6 million in investment grade corporate and municipal bonds with maturity dates ranging ranging through 2023. We intend to hold these bonds to maturity and have classified them as such. We believe cost approximates fair value because of the relatively short duration of these investments. The fair values of these securities are considered Level II as they are based on inputs from quoted prices in markets that are not active or other observable market data. These investments are presented at amortized cost are included in Short-term investments and Non-current investments and other assets in the accompanying condensed consolidated balance sheets.  As of March&#160;31, 2020, we have an accrued interest receivable balance of $493,000 and is included in Account receivables, net. We do not measure an allowance for credit losses for accrued interest receivables. We record any losses within the maturity period of the investment and any write-offs to accrued interest receivables are recorded as a reduction to interest income in the period of the loss. During the three months ended March&#160;31, 2020, we have recorded no credit losses. Interest income and amortization of discounts and premiums are included in Other income (expense), net in the accompanying condensed consolidated statements of income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;During the three months ended March&#160;31, 2020, we sold our $15 million investment in convertible preferred stock representing a 20% interest in Record Holdings Pty Limited ("Record Holdings"), a privately held Australian company specializing in digitizing the spoken word in court and legal proceedings, to BFTR, LLC, a wholly owned subsidiary of Bison Capital Partners V L.P. During the same period, we purchased $10 million in common stock representing a 18% interest in BFTR, LLC. The investment in common stock is accounted under the cost method because we do not have the ability to exercise significant influence over the investee and the securities do not have readily determinable fair values. Our investment is carried at cost less any impairment write-downs. Annually, our cost method investments are assessed for impairment. We do not reassess the fair value of cost method investments if there are no identified events or changes in circumstances that may have a significant adverse effect on the fair value of the investments. This investment is included in Non-current investments and other assets in the accompanying condensed consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;</us-gaap:OtherAssetsDisclosureTextBlock>
    <us-gaap:PaymentsToAcquireHeldToMaturitySecurities
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80OS9mcmFnOjczMGY4OTE5YWUyYzQyZjM5ZTVlNDVlMDdjYmRhMzc0L3RleHRyZWdpb246NzMwZjg5MTlhZTJjNDJmMzllNWU0NWUwN2NiZGEzNzRfNDA_eb5f3786-cf3d-4de6-aac9-aa62bb7061ff"
      unitRef="usd">90600000</us-gaap:PaymentsToAcquireHeldToMaturitySecurities>
    <us-gaap:InterestReceivable
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80OS9mcmFnOjczMGY4OTE5YWUyYzQyZjM5ZTVlNDVlMDdjYmRhMzc0L3RleHRyZWdpb246NzMwZjg5MTlhZTJjNDJmMzllNWU0NWUwN2NiZGEzNzRfMTY0OTI2NzQ0MzMyNA_76471c5f-2286-40e6-90d3-786c327c6986"
      unitRef="usd">493000</us-gaap:InterestReceivable>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="i98eaf4d5d4df44519573eba5b2b1e26c_D20200101-20200331"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80OS9mcmFnOjczMGY4OTE5YWUyYzQyZjM5ZTVlNDVlMDdjYmRhMzc0L3RleHRyZWdpb246NzMwZjg5MTlhZTJjNDJmMzllNWU0NWUwN2NiZGEzNzRfMTY0OTI2NzQ0NDc0OQ_491d3909-67ad-4660-86b0-8529d0de3145"
      unitRef="usd">15000000</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="ibeed6a78eb454e6b814c43f49bcecb58_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80OS9mcmFnOjczMGY4OTE5YWUyYzQyZjM5ZTVlNDVlMDdjYmRhMzc0L3RleHRyZWdpb246NzMwZjg5MTlhZTJjNDJmMzllNWU0NWUwN2NiZGEzNzRfMTY0OTI2NzQ0NDg0MA_a0118098-f037-469e-b514-93cc5f339862"
      unitRef="number">0.20</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="i98eaf4d5d4df44519573eba5b2b1e26c_D20200101-20200331"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80OS9mcmFnOjczMGY4OTE5YWUyYzQyZjM5ZTVlNDVlMDdjYmRhMzc0L3RleHRyZWdpb246NzMwZjg5MTlhZTJjNDJmMzllNWU0NWUwN2NiZGEzNzRfMTY0OTI2NzQ0NDgwNQ_26086c07-bd13-4c16-a640-ee022406e1b7"
      unitRef="usd">10000000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="i16f8c115a9824e20891f5cbd72a059b3_I20200331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV80OS9mcmFnOjczMGY4OTE5YWUyYzQyZjM5ZTVlNDVlMDdjYmRhMzc0L3RleHRyZWdpb246NzMwZjg5MTlhZTJjNDJmMzllNWU0NWUwN2NiZGEzNzRfMTY0OTI2NzQ0NDg0NQ_81a36768-cee2-486d-be89-573994292245"
      unitRef="number">0.18</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfMTQ2Mg_6b9cc8c6-f68b-41ec-8e17-de6e41c931c4">Revolving Line of Credit&lt;div style="margin-top:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;On September 30, 2019, we entered into a $400 million credit agreement with various lender parties and Wells Fargo Bank, National Association, as Administrative Agent (the &#x201c;Credit Facility&#x201d;). The Credit Facility provides for a revolving credit line up to $400 million, including a $25 million sublimit for letters of credit. The Credit Facility matures on September&#160;30, 2024. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Borrowings under the Credit Facility bear interest at a rate of either (1) Wells Fargo Bank&#x2019;s prime rate (subject to certain higher rate determinations) plus a margin of 0.125% to 0.75% or (2) the one-, two-, three-, or six-month LIBOR rate plus a margin of 1.125% to 1.75%. As of March&#160;31, 2020, the interest rates were 3.38% under the Wells Fargo Bank's prime rate and approximately 2.12% under the 30-day LIBOR option. The Credit Facility requires us to maintain certain financial ratios and other financial conditions and prohibits us from making certain investments, advances, cash dividends or loans, and limits incurrence of additional indebtedness and liens. As of March&#160;31, 2020, we were in compliance with those covenants.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;As of March&#160;31, 2020, we had no outstanding borrowings under the Credit Facility, and available borrowing capacity was $400.0 million.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="id6bb299c77214e989cc38d69596aff0e_I20190930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfNzY_683bde2c-72a4-4d44-a10f-48f8c7205d72"
      unitRef="usd">400000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="id6bb299c77214e989cc38d69596aff0e_I20190930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfMjgy_683bde2c-72a4-4d44-a10f-48f8c7205d72"
      unitRef="usd">400000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i3de4ab46c9ee4e8c8a50b2ce44ca4756_I20190930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfMjk4_9900eaaf-9409-4ab4-afed-aafd7c8a0a55"
      unitRef="usd">25000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i7a7f81d2a0514100b5b0fead552b87a5_D20200101-20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfODI2_c4b6f89d-5c68-4097-931c-2f996fbc675b"
      unitRef="number">0.00125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i981befe7724e41f9a255dd5fd6d74bb9_D20200101-20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfODMy_a1a1399b-c609-45c5-baac-02f3327ea093"
      unitRef="number">0.0075</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="iefda0ef086bf4140be672398f2463104_D20200101-20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfOTA3_700e462b-1092-4a9a-b9ed-304187b21efe"
      unitRef="number">0.01125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="id0659a795ce14cdeb6a5500f7a5ccc9c_D20200101-20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfOTEz_55a09ca6-90f2-4b58-a06e-03eae3f822ef"
      unitRef="number">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i2268fdde9b874a1fa7cfb716c12ed583_I20200331"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfOTUx_5c3271bf-6cd5-4ac7-ba50-0afaee6adbaa"
      unitRef="number">0.0338</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i6867502de31f497881339235700ffb3e_I20200331"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfMTAxMg_cd16fed2-0d4a-44ef-8394-49473703e702"
      unitRef="number">0.0212</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:LongTermLineOfCredit
      contextRef="ib0673062db4f4bea81b579227d982082_I20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfMTM2NA_a9314674-866a-4269-89eb-8d62cb3e4e73"
      unitRef="usd">0</us-gaap:LongTermLineOfCredit>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="ib0673062db4f4bea81b579227d982082_I20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81Mi9mcmFnOjEzZDg0NzZhOGY4YTRkMzE5OTQxMDkzNjEzN2ZjZWRmL3RleHRyZWdpb246MTNkODQ3NmE4ZjhhNGQzMTk5NDEwOTM2MTM3ZmNlZGZfMTQ1NQ_3474b05b-dda4-4f41-95d8-23a5221b0a98"
      unitRef="usd">400000000.0</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81NS9mcmFnOjVjMWJiOWMyZmY4NjRhZDFiMWEzZGQ1NTc0MTVhMzFjL3RleHRyZWdpb246NWMxYmI5YzJmZjg2NGFkMWIxYTNkZDU1NzQxNWEzMWNfNjU5NzA2OTc3MjM5Mw_5a171e8f-0129-41c0-8b7d-0477debc7397">Income Tax Provision&lt;div style="margin-top:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;We had an effective income tax rate of negative 36.3% for the three months ended March&#160;31, 2020, compared to 22.0% for the three months ended March&#160;31, 2019. The change in the effective tax rate for the three months ended March&#160;31, 2020, as compared to the same period in 2019, was principally driven by an increase in the excess tax benefits related to stock incentive awards.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;The effective income tax rates for the periods presented were different from the statutory United States federal income tax rate of 21% due to excess tax benefits related to stock incentive awards, state income taxes, non-deductible business expenses, and the tax benefit of research tax credits. The excess tax benefits related to stock incentive awards realized was $22.1 million for the three months ended March&#160;31, 2020, compared to $1.7 million for the three months ended March&#160;31, 2019. Excluding the excess tax benefits, the effective rate was 27.0% for the three months ended March&#160;31, 2020, compared to 26.8% for the three months ended March&#160;31, 2019. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;We made tax payments of $176,000 and $88,000 in the three months ended March 31, 2020, and 2019, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;The Coronavirus Aid, Relief and Economic Security ("CARES") Act, which was signed into law on March 27, 2020, provides an estimated $2.2 trillion to fight the COVID-19 pandemic and stimulate the U.S. economy. The assistance includes tax relief and government loans, and investments and grants for entities in affected industries (e.g., health care, airlines). &lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;The business tax provisions of the CARES Act include temporary changes to income and non-income based tax laws, including the ability to utilize net operating losses, interest expense deductions, alternative minimum tax credit refunds, charitable contributions, and depreciation of qualified improvement property. Measures not related to income-based taxes include (1) allowing an employer to pay its share of Social Security payroll taxes that would otherwise be due from the date of enactment through December 31, 2020, over the following two years and (2) allowing eligible employers subject to closure due to the COVID-19 pandemic to receive a 50% credit on qualified wages against their employment taxes each quarter, with any excess credits eligible for refunds.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;We evaluated the CARES Act provisions and the enactment resulted in no income tax adjustments. We do not believe that the income tax implications will be significant to our overall income tax liability.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81NS9mcmFnOjVjMWJiOWMyZmY4NjRhZDFiMWEzZGQ1NTc0MTVhMzFjL3RleHRyZWdpb246NWMxYmI5YzJmZjg2NGFkMWIxYTNkZDU1NzQxNWEzMWNfNjk_b6f9ab47-5013-453b-851e-9915b5feab58"
      unitRef="number">-0.363</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81NS9mcmFnOjVjMWJiOWMyZmY4NjRhZDFiMWEzZGQ1NTc0MTVhMzFjL3RleHRyZWdpb246NWMxYmI5YzJmZjg2NGFkMWIxYTNkZDU1NzQxNWEzMWNfMTQy_4d813640-f95e-410c-b7ae-9f2c42d39c85"
      unitRef="number">0.220</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81NS9mcmFnOjVjMWJiOWMyZmY4NjRhZDFiMWEzZGQ1NTc0MTVhMzFjL3RleHRyZWdpb246NWMxYmI5YzJmZjg2NGFkMWIxYTNkZDU1NzQxNWEzMWNfNzc5_6cfba818-d118-41c7-ac0e-0924cb24938d"
      unitRef="usd">22100000</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81NS9mcmFnOjVjMWJiOWMyZmY4NjRhZDFiMWEzZGQ1NTc0MTVhMzFjL3RleHRyZWdpb246NWMxYmI5YzJmZjg2NGFkMWIxYTNkZDU1NzQxNWEzMWNfODQz_e8c5cdb1-8a4c-4a9b-b014-1b9eaceef0d8"
      unitRef="usd">1700000</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81NS9mcmFnOjVjMWJiOWMyZmY4NjRhZDFiMWEzZGQ1NTc0MTVhMzFjL3RleHRyZWdpb246NWMxYmI5YzJmZjg2NGFkMWIxYTNkZDU1NzQxNWEzMWNfOTUz_b69f936d-9db8-42ef-8987-96ab92e53e8c"
      unitRef="number">0.270</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81NS9mcmFnOjVjMWJiOWMyZmY4NjRhZDFiMWEzZGQ1NTc0MTVhMzFjL3RleHRyZWdpb246NWMxYmI5YzJmZjg2NGFkMWIxYTNkZDU1NzQxNWEzMWNfMTAwMw_6c91b010-fe31-4cd7-b8d9-cd69d8a8642b"
      unitRef="number">0.268</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxesPaid
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81NS9mcmFnOjVjMWJiOWMyZmY4NjRhZDFiMWEzZGQ1NTc0MTVhMzFjL3RleHRyZWdpb246NWMxYmI5YzJmZjg2NGFkMWIxYTNkZDU1NzQxNWEzMWNfMTA4MA_1fb4e323-a478-4b9a-9d04-fca915982f35"
      unitRef="usd">176000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81NS9mcmFnOjVjMWJiOWMyZmY4NjRhZDFiMWEzZGQ1NTc0MTVhMzFjL3RleHRyZWdpb246NWMxYmI5YzJmZjg2NGFkMWIxYTNkZDU1NzQxNWEzMWNfMTA4Nw_bb2d88f7-02ba-48ab-868c-2953401f5e8e"
      unitRef="usd">88000</us-gaap:IncomeTaxesPaid>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RleHRyZWdpb246NWRmMTg1OTI3NzAzNGI0NDhhZDVlYjU4OTQ5MmI3NGJfNDU3_23653df5-affa-4228-8a28-9fa36790d16d">Earnings Per Share&lt;div&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;The following table details the reconciliation of basic earnings per share to diluted earnings per share:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:69.152%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:65.441%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.857%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:12.587%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.857%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:13.858%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Numerator for basic and diluted earnings per share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;47,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;27,348&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Weighted-average basic common shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;39,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;38,308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Assumed conversion of dilutive securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Stock awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,277&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;div style="text-indent:6.75pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;"&gt;Denominator for diluted earnings per share&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:6.75pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;"&gt;&#160;&#160; - Adjusted weighted-average shares&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;41,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;39,585&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Earnings per common share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1.20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;0.71&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;0.69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;For the three months ended March&#160;31, 2020, and March&#160;31, 2019, stock awards representing the right to purchase common stock of approximately 79,000 shares and 1,253,000 shares, respectively, were not included in the computation of diluted earnings per share because their inclusion would have had an antidilutive effect.</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RleHRyZWdpb246NWRmMTg1OTI3NzAzNGI0NDhhZDVlYjU4OTQ5MmI3NGJfNDU0_73af55ab-83fb-442e-97f8-b66960b85877">&lt;div&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;The following table details the reconciliation of basic earnings per share to diluted earnings per share:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:69.152%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:65.441%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.857%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:12.587%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.857%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:13.858%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Numerator for basic and diluted earnings per share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;47,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;27,348&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Weighted-average basic common shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;39,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;38,308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Assumed conversion of dilutive securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Stock awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,277&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;div style="text-indent:6.75pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;"&gt;Denominator for diluted earnings per share&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:6.75pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;"&gt;&#160;&#160; - Adjusted weighted-average shares&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;41,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;39,585&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Earnings per common share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1.20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;0.71&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;0.69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:3pt double #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfMy0yLTEtMS0w_d5bb814a-5ce3-4248-8d88-90d1e7d3298c"
      unitRef="usd">47550000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfMy00LTEtMS0w_049df1e8-4204-4ea3-9fbb-b8c380b79c52"
      unitRef="usd">27348000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfNS0yLTEtMS0w_45d1516a-5f89-4619-9ce7-ee691d42d7b9"
      unitRef="shares">39500000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfNS00LTEtMS0w_59191daf-c8b5-4df8-b7d6-611caa0f5e8d"
      unitRef="shares">38308000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfNy0yLTEtMS0w_c263cc03-326b-42d5-90f9-5cdc1b28100e"
      unitRef="shares">1644000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfNy00LTEtMS0w_aae0d8d3-3792-4a25-95b7-e157d2f6d27a"
      unitRef="shares">1277000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfOC0yLTEtMS0w_ce0cd084-0272-460e-9cd8-f6b69841127f"
      unitRef="shares">41144000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfOC00LTEtMS0w_a4a41d15-ceba-43bf-92fa-da440b4ef60e"
      unitRef="shares">39585000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfMTAtMi0xLTEtMA_2f155b96-9818-44a4-8032-ee7fae16ef0c"
      unitRef="usdPerShare">1.20</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfMTAtNC0xLTEtMA_522f8f8c-3cd3-4b5f-89ee-e650ed9e5c22"
      unitRef="usdPerShare">0.71</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfMTEtMi0xLTEtMA_c0d83eb8-4e28-4af1-b267-435910342807"
      unitRef="usdPerShare">1.16</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RhYmxlOmExZmQxYTgyNDFjZjRhMjRiMzIyZjc1MDU5YmNmN2Y3L3RhYmxlcmFuZ2U6YTFmZDFhODI0MWNmNGEyNGIzMjJmNzUwNTliY2Y3ZjdfMTEtNC0xLTEtMA_44d8acb0-22e5-4c86-bf77-8c055054f6b2"
      unitRef="usdPerShare">0.69</us-gaap:EarningsPerShareDiluted>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RleHRyZWdpb246NWRmMTg1OTI3NzAzNGI0NDhhZDVlYjU4OTQ5MmI3NGJfMjY2_36cbc64d-fcb7-4bd4-8f5d-09b9b14f0774"
      unitRef="shares">79000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV81OC9mcmFnOjVkZjE4NTkyNzcwMzRiNDQ4YWQ1ZWI1ODk0OTJiNzRiL3RleHRyZWdpb246NWRmMTg1OTI3NzAzNGI0NDhhZDVlYjU4OTQ5MmI3NGJfMjg3_2fe537af-c391-40af-8cb8-abe4fcc98019"
      unitRef="shares">1253000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMjE3Mw_46ef560e-5f72-4e66-bd66-369fde9cc1a7">Leases&lt;div&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;We lease office facilities for use in our operations, as well as transportation and other equipment.&#160;Most of our leases are non-cancelable operating lease agreements and they expire from one year to eight years.&#160;Some of these leases include options to extend for up to 10 years. We had&#160;no finance leases and no related party lease agreements as of March&#160;31, 2020. Operating lease costs were approximately $2.6 million for the three months ended March&#160;31, 2020, and $2.1 million for the three months ended March&#160;31, 2019. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;The components of operating lease expense were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:88.157%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:19.061%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.629%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:41.117%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.629%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:14.749%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.463%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:14.752%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Lease Costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Financial Statement Classification&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,666&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Short-term lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;574&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Variable lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;394&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;163&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Net lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,103&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:18pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;As of March&#160;31, 2020, Right-of-use ("ROU") lease assets and lease liabilities for our operating leases were recorded in the condensed consolidated balance sheet as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:80.555%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:56.257%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.707%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:16.693%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.070%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:18.873%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;March 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;"&gt;Assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;17,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;18,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;"&gt;Liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Operating leases, short-term&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;6,373&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;6,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Operating leases, long-term&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;15,548&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;16,822&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;21,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;23,209&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:18pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Supplemental information related to leases was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:85.672%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:59.945%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.653%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:15.918%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.165%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:15.919%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Other Information&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;div&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration: underline;"&gt;Cash flows&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Cash paid amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Operating cash outflows from operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,873&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,530&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Right-of-use assets obtained in exchange for lease obligations (non-cash):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;457&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;"&gt;Lease term and discount rate:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Weighted average remaining lease term (years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Weighted average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;As of&#160;March&#160;31, 2020, maturities of lease liabilities were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:69.590%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:69.428%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.270%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:25.102%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Year ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020 (Remaining 2020)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;6,340&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,989&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;23,873&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Less: Interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(1,952)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Present value of operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;21,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:18pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"&gt;Rental Income from third parties&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;We own office buildings in Bangor, Falmouth and Yarmouth, Maine; Lubbock and Plano, Texas; Troy, Michigan; Latham, New York; and Moraine, Ohio. We lease space in some of these buildings to third-party tenants. The property we lease to others under operating leases consists primarily of specific facilities where one tenant obtains substantially all of the economic benefit from the asset and has the right to direct the use of the asset. These non-cancelable leases expire between 2020 and 2025, and some have options to extend the lease for up to&#160;five years. We determine if an arrangement is a lease at inception. None of our leases allow the lessee to purchase the leased asset.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Rental income from third-party tenants for the three months ended March&#160;31, 2020, totaled&#160;$274,000 and for the three months ended March&#160;31, 2019, totaled $284,000. Rental income is included in Hardware and other revenue on the condensed consolidated statements of income. Future minimum operating rental income based on contractual agreements is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:75.877%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:63.510%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.148%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:31.142%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Year ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020 (Remaining 2020)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,009&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,372&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,432&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,462&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;857&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;7,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:15pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;As of March&#160;31, 2020, we had no additional significant operating or finance leases that had not yet commenced.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:OperatingLeasesOfLessorDisclosureTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMjE3OQ_4f87df54-5eaa-4b3e-8fcb-c0f6745e4fbf">Leases&lt;div&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;We lease office facilities for use in our operations, as well as transportation and other equipment.&#160;Most of our leases are non-cancelable operating lease agreements and they expire from one year to eight years.&#160;Some of these leases include options to extend for up to 10 years. We had&#160;no finance leases and no related party lease agreements as of March&#160;31, 2020. Operating lease costs were approximately $2.6 million for the three months ended March&#160;31, 2020, and $2.1 million for the three months ended March&#160;31, 2019. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;The components of operating lease expense were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:88.157%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:19.061%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.629%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:41.117%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.629%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:14.749%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.463%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:14.752%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Lease Costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Financial Statement Classification&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,666&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Short-term lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;574&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Variable lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;394&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;163&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Net lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,103&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:18pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;As of March&#160;31, 2020, Right-of-use ("ROU") lease assets and lease liabilities for our operating leases were recorded in the condensed consolidated balance sheet as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:80.555%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:56.257%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.707%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:16.693%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.070%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:18.873%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;March 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;"&gt;Assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;17,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;18,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;"&gt;Liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Operating leases, short-term&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;6,373&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;6,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Operating leases, long-term&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;15,548&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;16,822&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;21,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;23,209&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:18pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Supplemental information related to leases was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:85.672%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:59.945%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.653%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:15.918%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.165%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:15.919%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Other Information&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;div&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration: underline;"&gt;Cash flows&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Cash paid amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Operating cash outflows from operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,873&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,530&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Right-of-use assets obtained in exchange for lease obligations (non-cash):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;457&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;"&gt;Lease term and discount rate:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Weighted average remaining lease term (years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Weighted average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;As of&#160;March&#160;31, 2020, maturities of lease liabilities were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:69.590%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:69.428%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.270%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:25.102%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Year ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020 (Remaining 2020)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;6,340&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,989&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;23,873&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Less: Interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(1,952)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Present value of operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;21,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:18pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"&gt;Rental Income from third parties&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;margin-bottom:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;We own office buildings in Bangor, Falmouth and Yarmouth, Maine; Lubbock and Plano, Texas; Troy, Michigan; Latham, New York; and Moraine, Ohio. We lease space in some of these buildings to third-party tenants. The property we lease to others under operating leases consists primarily of specific facilities where one tenant obtains substantially all of the economic benefit from the asset and has the right to direct the use of the asset. These non-cancelable leases expire between 2020 and 2025, and some have options to extend the lease for up to&#160;five years. We determine if an arrangement is a lease at inception. None of our leases allow the lessee to purchase the leased asset.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Rental income from third-party tenants for the three months ended March&#160;31, 2020, totaled&#160;$274,000 and for the three months ended March&#160;31, 2019, totaled $284,000. Rental income is included in Hardware and other revenue on the condensed consolidated statements of income. Future minimum operating rental income based on contractual agreements is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:75.877%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:63.510%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.148%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:31.142%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Year ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020 (Remaining 2020)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,009&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,372&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,432&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,462&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;857&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;7,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:15pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;As of March&#160;31, 2020, we had no additional significant operating or finance leases that had not yet commenced.&lt;/span&gt;&lt;/div&gt;</us-gaap:OperatingLeasesOfLessorDisclosureTextBlock>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i5e88cc29fc4344bfa1f3cb0964249dd3_I20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMjA1_1f1b6504-b32b-4b20-a54e-dd163741a50c">P1Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i154d9f766dcf4291a99504c7ea383294_I20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMjEx_6e2243e2-a053-4c83-b3b0-8a319fc037bb">P8Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LesseeOperatingLeaseRenewalTerm
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMjcy_672d8b59-2336-457f-bb91-dceb5b9a7036">P10Y</us-gaap:LesseeOperatingLeaseRenewalTerm>
    <us-gaap:LeaseCost
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMzkw_e3d4b596-733b-4fea-96c5-8645003e42d0"
      unitRef="usd">2600000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfNDQ2_31bee149-9924-4b9b-a665-f3a8d2d33300"
      unitRef="usd">2100000</us-gaap:LeaseCost>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMjE5Mg_d713ef10-a048-4799-97cb-23f305492c59">&lt;div style="margin-top:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;The components of operating lease expense were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:88.157%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:19.061%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.629%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:41.117%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.629%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:14.749%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.463%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:14.752%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Lease Costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Financial Statement Classification&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,666&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Short-term lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;574&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Variable lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;394&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;163&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Net lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,103&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:18pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Supplemental information related to leases was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:85.672%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:59.945%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.653%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:15.918%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.165%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:15.919%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Other Information&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;div&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration: underline;"&gt;Cash flows&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Cash paid amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Operating cash outflows from operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,873&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,530&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Right-of-use assets obtained in exchange for lease obligations (non-cash):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;457&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;"&gt;Lease term and discount rate:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Weighted average remaining lease term (years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Weighted average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjY4MjEyNWFlZWEzNzQyZGFhZTk0MDM1NDQ5NmVjZGNlL3RhYmxlcmFuZ2U6NjgyMTI1YWVlYTM3NDJkYWFlOTQwMzU0NDk2ZWNkY2VfMi00LTEtMS0w_3d0ce50a-d52f-4a73-a135-8c0f082b78e6"
      unitRef="usd">1666000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjY4MjEyNWFlZWEzNzQyZGFhZTk0MDM1NDQ5NmVjZGNlL3RhYmxlcmFuZ2U6NjgyMTI1YWVlYTM3NDJkYWFlOTQwMzU0NDk2ZWNkY2VfMi02LTEtMS00MTQ_5c6040c6-5cc4-4fd6-b19e-1eca616acc46"
      unitRef="usd">1370000</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjY4MjEyNWFlZWEzNzQyZGFhZTk0MDM1NDQ5NmVjZGNlL3RhYmxlcmFuZ2U6NjgyMTI1YWVlYTM3NDJkYWFlOTQwMzU0NDk2ZWNkY2VfMy00LTEtMS0w_9f2bbea5-06e1-4994-94b6-ecde959f1327"
      unitRef="usd">574000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjY4MjEyNWFlZWEzNzQyZGFhZTk0MDM1NDQ5NmVjZGNlL3RhYmxlcmFuZ2U6NjgyMTI1YWVlYTM3NDJkYWFlOTQwMzU0NDk2ZWNkY2VfMy02LTEtMS00MTQ_0ba6d480-75ff-4872-9a8d-c839d0fc79e1"
      unitRef="usd">570000</us-gaap:ShortTermLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjY4MjEyNWFlZWEzNzQyZGFhZTk0MDM1NDQ5NmVjZGNlL3RhYmxlcmFuZ2U6NjgyMTI1YWVlYTM3NDJkYWFlOTQwMzU0NDk2ZWNkY2VfNC00LTEtMS0w_1f1e4f26-d902-4570-9e6b-d4a89108a3c8"
      unitRef="usd">394000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjY4MjEyNWFlZWEzNzQyZGFhZTk0MDM1NDQ5NmVjZGNlL3RhYmxlcmFuZ2U6NjgyMTI1YWVlYTM3NDJkYWFlOTQwMzU0NDk2ZWNkY2VfNC02LTEtMS00MTQ_d1212e41-7c81-45aa-bd0c-768910105e38"
      unitRef="usd">163000</us-gaap:VariableLeaseCost>
    <us-gaap:LeaseCost
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjY4MjEyNWFlZWEzNzQyZGFhZTk0MDM1NDQ5NmVjZGNlL3RhYmxlcmFuZ2U6NjgyMTI1YWVlYTM3NDJkYWFlOTQwMzU0NDk2ZWNkY2VfNS00LTEtMS0w_0ce5c71c-e817-44bd-84ba-24ab44125905"
      unitRef="usd">2634000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjY4MjEyNWFlZWEzNzQyZGFhZTk0MDM1NDQ5NmVjZGNlL3RhYmxlcmFuZ2U6NjgyMTI1YWVlYTM3NDJkYWFlOTQwMzU0NDk2ZWNkY2VfNS02LTEtMS00MTg_a65b0ed6-b521-4c14-8ceb-9caca3203ff0"
      unitRef="usd">2103000</us-gaap:LeaseCost>
    <tyl:ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMjE2OA_c46e5ee6-c9b8-443a-b5ea-3936f9e08e4b">&lt;div style="margin-top:18pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;As of March&#160;31, 2020, Right-of-use ("ROU") lease assets and lease liabilities for our operating leases were recorded in the condensed consolidated balance sheet as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:80.555%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:56.257%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.707%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:16.693%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.070%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:18.873%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;March 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;"&gt;Assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;17,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;18,992&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;"&gt;Liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Operating leases, short-term&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;6,373&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;6,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Operating leases, long-term&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;15,548&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;16,822&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;21,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;23,209&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</tyl:ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmYyMDViNzJmMTFiMTQzZDA5MzIzNjEwZWEzNTA1N2M1L3RhYmxlcmFuZ2U6ZjIwNWI3MmYxMWIxNDNkMDkzMjM2MTBlYTM1MDU3YzVfMi0yLTEtMS0w_859cc6f9-6a0b-4f71-b009-d2da881f9e0d"
      unitRef="usd">17992000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmYyMDViNzJmMTFiMTQzZDA5MzIzNjEwZWEzNTA1N2M1L3RhYmxlcmFuZ2U6ZjIwNWI3MmYxMWIxNDNkMDkzMjM2MTBlYTM1MDU3YzVfMi00LTEtMS00NTY_959062ca-b00f-45f8-89f5-f3100c5a8e95"
      unitRef="usd">18992000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmYyMDViNzJmMTFiMTQzZDA5MzIzNjEwZWEzNTA1N2M1L3RhYmxlcmFuZ2U6ZjIwNWI3MmYxMWIxNDNkMDkzMjM2MTBlYTM1MDU3YzVfNC0yLTEtMS0w_7962545e-e560-41ba-9325-7598af2b0705"
      unitRef="usd">6373000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmYyMDViNzJmMTFiMTQzZDA5MzIzNjEwZWEzNTA1N2M1L3RhYmxlcmFuZ2U6ZjIwNWI3MmYxMWIxNDNkMDkzMjM2MTBlYTM1MDU3YzVfNC00LTEtMS00NTk_4edf288d-1994-4c97-8f73-5324a2540922"
      unitRef="usd">6387000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmYyMDViNzJmMTFiMTQzZDA5MzIzNjEwZWEzNTA1N2M1L3RhYmxlcmFuZ2U6ZjIwNWI3MmYxMWIxNDNkMDkzMjM2MTBlYTM1MDU3YzVfNS0yLTEtMS0w_191b95cf-2f03-4c92-a831-f609c63a3062"
      unitRef="usd">15548000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmYyMDViNzJmMTFiMTQzZDA5MzIzNjEwZWEzNTA1N2M1L3RhYmxlcmFuZ2U6ZjIwNWI3MmYxMWIxNDNkMDkzMjM2MTBlYTM1MDU3YzVfNS00LTEtMS00NjI_83bddcc7-0c31-4454-a6a7-7d34f1d079d5"
      unitRef="usd">16822000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmYyMDViNzJmMTFiMTQzZDA5MzIzNjEwZWEzNTA1N2M1L3RhYmxlcmFuZ2U6ZjIwNWI3MmYxMWIxNDNkMDkzMjM2MTBlYTM1MDU3YzVfNi0yLTEtMS0w_f5fc67bf-d146-4305-877b-fba099e207f0"
      unitRef="usd">21921000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmYyMDViNzJmMTFiMTQzZDA5MzIzNjEwZWEzNTA1N2M1L3RhYmxlcmFuZ2U6ZjIwNWI3MmYxMWIxNDNkMDkzMjM2MTBlYTM1MDU3YzVfNi00LTEtMS00NDM_40cecc25-4f4b-4900-a404-99a930711f6f"
      unitRef="usd">23209000</us-gaap:OperatingLeaseLiability>
    <tyl:ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMjE3NQ_11978883-7719-492c-83cf-0dff65235d9e">&lt;div style="margin-top:18pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Supplemental information related to leases was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:85.672%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:59.945%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.653%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:15.918%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.165%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:15.919%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Other Information&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;div&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration: underline;"&gt;Cash flows&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:6.75pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Cash paid amounts included in the measurement of lease liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Operating cash outflows from operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,873&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,530&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:6pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Right-of-use assets obtained in exchange for lease obligations (non-cash):&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;457&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);text-decoration: underline;"&gt;Lease term and discount rate:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Weighted average remaining lease term (years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Weighted average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</tyl:ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjcyNzkzNDQyMTU2OTRlNjZhMWFiZDA1ZmIxMmNmNTYzL3RhYmxlcmFuZ2U6NzI3OTM0NDIxNTY5NGU2NmExYWJkMDVmYjEyY2Y1NjNfNC0yLTEtMS0w_4bb49de8-1fac-4d33-a42c-1d305ab66218"
      unitRef="usd">1873000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjcyNzkzNDQyMTU2OTRlNjZhMWFiZDA1ZmIxMmNmNTYzL3RhYmxlcmFuZ2U6NzI3OTM0NDIxNTY5NGU2NmExYWJkMDVmYjEyY2Y1NjNfNC00LTEtMS00NjY_9a146278-eab0-4b25-9396-c3db256ee946"
      unitRef="usd">1530000</us-gaap:OperatingLeasePayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjcyNzkzNDQyMTU2OTRlNjZhMWFiZDA1ZmIxMmNmNTYzL3RhYmxlcmFuZ2U6NzI3OTM0NDIxNTY5NGU2NmExYWJkMDVmYjEyY2Y1NjNfNy0yLTEtMS0w_a9d40f0c-1bba-47e8-8a17-6756193cf9d9"
      unitRef="usd">457000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjcyNzkzNDQyMTU2OTRlNjZhMWFiZDA1ZmIxMmNmNTYzL3RhYmxlcmFuZ2U6NzI3OTM0NDIxNTY5NGU2NmExYWJkMDVmYjEyY2Y1NjNfNy00LTEtMS00NzM_2b3c1272-6f74-4b76-be61-ff82cb8d6b5a"
      unitRef="usd">431000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjcyNzkzNDQyMTU2OTRlNjZhMWFiZDA1ZmIxMmNmNTYzL3RhYmxlcmFuZ2U6NzI3OTM0NDIxNTY5NGU2NmExYWJkMDVmYjEyY2Y1NjNfMTAtMi0xLTEtMA_36806b66-e0d0-44ad-806f-321b908aabb2">P4Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i6775188fc49547f38d76e5875298883c_I20190331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjcyNzkzNDQyMTU2OTRlNjZhMWFiZDA1ZmIxMmNmNTYzL3RhYmxlcmFuZ2U6NzI3OTM0NDIxNTY5NGU2NmExYWJkMDVmYjEyY2Y1NjNfMTAtNC0xLTEtNDc2_de28193a-93ba-435f-ad39-a9d5a8ebd40e">P5Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjcyNzkzNDQyMTU2OTRlNjZhMWFiZDA1ZmIxMmNmNTYzL3RhYmxlcmFuZ2U6NzI3OTM0NDIxNTY5NGU2NmExYWJkMDVmYjEyY2Y1NjNfMTEtMi0xLTEtMA_d6c5b8bf-cba3-4626-bc59-7bd50583f817"
      unitRef="number">0.0400</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i6775188fc49547f38d76e5875298883c_I20190331"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjcyNzkzNDQyMTU2OTRlNjZhMWFiZDA1ZmIxMmNmNTYzL3RhYmxlcmFuZ2U6NzI3OTM0NDIxNTY5NGU2NmExYWJkMDVmYjEyY2Y1NjNfMTEtNC0xLTEtNDc5_82b8cb52-d3f7-4356-9463-2307d507b41e"
      unitRef="number">0.0400</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMjE3MQ_877be574-9557-47e7-ad0e-e69cd793baf1">&lt;div style="margin-top:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;As of&#160;March&#160;31, 2020, maturities of lease liabilities were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:69.590%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:69.428%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.270%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:25.102%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Year ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020 (Remaining 2020)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,845&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;6,340&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,989&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,545&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;23,873&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Less: Interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(1,952)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Present value of operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;21,921&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjU3NmQxY2IzNDcwMDQ3ZTBiYjY1OTcxMTcyNWQyZTA3L3RhYmxlcmFuZ2U6NTc2ZDFjYjM0NzAwNDdlMGJiNjU5NzExNzI1ZDJlMDdfMS0yLTEtMS0w_2a2b7bac-27b9-450e-a811-72185a28ef5e"
      unitRef="usd">5845000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjU3NmQxY2IzNDcwMDQ3ZTBiYjY1OTcxMTcyNWQyZTA3L3RhYmxlcmFuZ2U6NTc2ZDFjYjM0NzAwNDdlMGJiNjU5NzExNzI1ZDJlMDdfMi0yLTEtMS0w_89757d05-fa01-4f14-8eb9-2e3bdea85577"
      unitRef="usd">6340000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjU3NmQxY2IzNDcwMDQ3ZTBiYjY1OTcxMTcyNWQyZTA3L3RhYmxlcmFuZ2U6NTc2ZDFjYjM0NzAwNDdlMGJiNjU5NzExNzI1ZDJlMDdfMy0yLTEtMS0w_71674b42-3039-48c4-8ef1-48cd6a5e6aa4"
      unitRef="usd">4021000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjU3NmQxY2IzNDcwMDQ3ZTBiYjY1OTcxMTcyNWQyZTA3L3RhYmxlcmFuZ2U6NTc2ZDFjYjM0NzAwNDdlMGJiNjU5NzExNzI1ZDJlMDdfNC0yLTEtMS0w_2917557a-0787-4cfc-b8ef-d51729465b16"
      unitRef="usd">2989000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjU3NmQxY2IzNDcwMDQ3ZTBiYjY1OTcxMTcyNWQyZTA3L3RhYmxlcmFuZ2U6NTc2ZDFjYjM0NzAwNDdlMGJiNjU5NzExNzI1ZDJlMDdfNS0yLTEtMS0w_cb3eee22-9c73-451a-9bf3-ed3a45800aac"
      unitRef="usd">2545000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjU3NmQxY2IzNDcwMDQ3ZTBiYjY1OTcxMTcyNWQyZTA3L3RhYmxlcmFuZ2U6NTc2ZDFjYjM0NzAwNDdlMGJiNjU5NzExNzI1ZDJlMDdfNi0yLTEtMS0w_d1da3d16-0daf-4da4-a8fd-29ca3cae2aa3"
      unitRef="usd">2133000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjU3NmQxY2IzNDcwMDQ3ZTBiYjY1OTcxMTcyNWQyZTA3L3RhYmxlcmFuZ2U6NTc2ZDFjYjM0NzAwNDdlMGJiNjU5NzExNzI1ZDJlMDdfNy0yLTEtMS0w_a7c44637-eb07-497b-a00e-dc17540ecf5c"
      unitRef="usd">23873000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjU3NmQxY2IzNDcwMDQ3ZTBiYjY1OTcxMTcyNWQyZTA3L3RhYmxlcmFuZ2U6NTc2ZDFjYjM0NzAwNDdlMGJiNjU5NzExNzI1ZDJlMDdfOC0yLTEtMS0w_1be917de-d1cf-4e64-a508-190cdee6646e"
      unitRef="usd">1952000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOjU3NmQxY2IzNDcwMDQ3ZTBiYjY1OTcxMTcyNWQyZTA3L3RhYmxlcmFuZ2U6NTc2ZDFjYjM0NzAwNDdlMGJiNjU5NzExNzI1ZDJlMDdfOS0yLTEtMS0w_82e65978-2482-4ea7-8160-8d527dde15d1"
      unitRef="usd">21921000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LessorOperatingLeaseRenewalTerm
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMTU4OA_7b9acc7c-e3b9-461e-9e9b-a2163579bef7">P5Y</us-gaap:LessorOperatingLeaseRenewalTerm>
    <us-gaap:RentalIncomeNonoperating
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMTc2NQ_b3f05e7b-5ed8-4488-ac51-cec705b01370"
      unitRef="usd">274000</us-gaap:RentalIncomeNonoperating>
    <us-gaap:RentalIncomeNonoperating
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMTgyOQ_feb56e41-914b-4d1b-b86f-55181ca84fb1"
      unitRef="usd">284000</us-gaap:RentalIncomeNonoperating>
    <us-gaap:OperatingLeaseLeaseIncomeTableTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RleHRyZWdpb246MjE5ZDlhZjliODY2NDVhZDg0ODZhZjIyNDI2Y2ExMTZfMjE4Nw_0afcbe03-088e-4e4f-865f-2e3f90d8e1cf">Future minimum operating rental income based on contractual agreements is as follows:&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:75.877%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:63.510%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.148%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:31.142%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Year ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:15pt;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020 (Remaining 2020)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,009&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,372&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,402&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,432&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,462&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;857&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;7,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:OperatingLeaseLeaseIncomeTableTextBlock>
    <us-gaap:LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmI3NmZjNDAwMzkyNDQwNzVhOTdmMTk5N2E2YWY3MDk4L3RhYmxlcmFuZ2U6Yjc2ZmM0MDAzOTI0NDA3NWE5N2YxOTk3YTZhZjcwOThfMi0yLTEtMS0w_f062f1b5-1865-4f55-8c0b-1525b26b00d4"
      unitRef="usd">1009000</us-gaap:LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths>
    <us-gaap:LessorOperatingLeasePaymentsToBeReceivedTwoYears
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmI3NmZjNDAwMzkyNDQwNzVhOTdmMTk5N2E2YWY3MDk4L3RhYmxlcmFuZ2U6Yjc2ZmM0MDAzOTI0NDA3NWE5N2YxOTk3YTZhZjcwOThfMy0yLTEtMS0w_79cbb73c-ed9b-4b3f-854d-27bee331637e"
      unitRef="usd">1372000</us-gaap:LessorOperatingLeasePaymentsToBeReceivedTwoYears>
    <us-gaap:LessorOperatingLeasePaymentsToBeReceivedThreeYears
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmI3NmZjNDAwMzkyNDQwNzVhOTdmMTk5N2E2YWY3MDk4L3RhYmxlcmFuZ2U6Yjc2ZmM0MDAzOTI0NDA3NWE5N2YxOTk3YTZhZjcwOThfNC0yLTEtMS0w_39de0207-7dad-4ebf-9afd-7a8d489e366e"
      unitRef="usd">1402000</us-gaap:LessorOperatingLeasePaymentsToBeReceivedThreeYears>
    <us-gaap:LessorOperatingLeasePaymentsToBeReceivedFourYears
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmI3NmZjNDAwMzkyNDQwNzVhOTdmMTk5N2E2YWY3MDk4L3RhYmxlcmFuZ2U6Yjc2ZmM0MDAzOTI0NDA3NWE5N2YxOTk3YTZhZjcwOThfNS0yLTEtMS0w_d3e189cf-7f5c-420d-8ade-b6d8a3400f5a"
      unitRef="usd">1432000</us-gaap:LessorOperatingLeasePaymentsToBeReceivedFourYears>
    <us-gaap:LessorOperatingLeasePaymentsToBeReceivedFiveYears
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmI3NmZjNDAwMzkyNDQwNzVhOTdmMTk5N2E2YWY3MDk4L3RhYmxlcmFuZ2U6Yjc2ZmM0MDAzOTI0NDA3NWE5N2YxOTk3YTZhZjcwOThfNi0yLTEtMS0w_9707cd09-4c4d-4c22-af23-fce2722ce701"
      unitRef="usd">1462000</us-gaap:LessorOperatingLeasePaymentsToBeReceivedFiveYears>
    <us-gaap:LessorOperatingLeasePaymentsToBeReceivedThereafter
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmI3NmZjNDAwMzkyNDQwNzVhOTdmMTk5N2E2YWY3MDk4L3RhYmxlcmFuZ2U6Yjc2ZmM0MDAzOTI0NDA3NWE5N2YxOTk3YTZhZjcwOThfNy0yLTEtMS0w_a3abc6bf-71d2-4637-adb3-27d1e0822841"
      unitRef="usd">857000</us-gaap:LessorOperatingLeasePaymentsToBeReceivedThereafter>
    <us-gaap:LessorOperatingLeasePaymentsToBeReceived
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82MS9mcmFnOjIxOWQ5YWY5Yjg2NjQ1YWQ4NDg2YWYyMjQyNmNhMTE2L3RhYmxlOmI3NmZjNDAwMzkyNDQwNzVhOTdmMTk5N2E2YWY3MDk4L3RhYmxlcmFuZ2U6Yjc2ZmM0MDAzOTI0NDA3NWE5N2YxOTk3YTZhZjcwOThfOC0yLTEtMS0w_27368cca-22f7-4cfa-a4f3-418d5455dfa7"
      unitRef="usd">7534000</us-gaap:LessorOperatingLeasePaymentsToBeReceived>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82NC9mcmFnOmE5MThkMTc0ZDhjNTRmYmU5MjZkNzFkZDJjZTFlN2Y5L3RleHRyZWdpb246YTkxOGQxNzRkOGM1NGZiZTkyNmQ3MWRkMmNlMWU3ZjlfMjQ3_05e23726-79f5-4e21-909d-94be5d90558b">Share-Based Compensation&lt;div&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;The following table summarizes share-based compensation expense related to share-based awards recorded in the condensed consolidated statements of income, pursuant to ASC 718, &lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"&gt;Stock Compensation&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:65.935%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:62.745%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.908%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:12.855%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:2.460%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:14.632%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Cost of software services, maintenance and subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;3,798&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;13,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;10,618&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total share-based compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;17,302&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;14,416&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82NC9mcmFnOmE5MThkMTc0ZDhjNTRmYmU5MjZkNzFkZDJjZTFlN2Y5L3RleHRyZWdpb246YTkxOGQxNzRkOGM1NGZiZTkyNmQ3MWRkMmNlMWU3ZjlfMjU0_303d7926-c594-46ff-9184-dc00b32184d1">&lt;div&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;The following table summarizes share-based compensation expense related to share-based awards recorded in the condensed consolidated statements of income, pursuant to ASC 718, &lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"&gt;Stock Compensation&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:65.935%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:62.745%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.908%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:12.855%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:2.460%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:14.632%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Cost of software services, maintenance and subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,252&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;3,798&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;13,050&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;10,618&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:11.25pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total share-based compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;17,302&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;14,416&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i89c2da0acd3c4bfdb10925118ce493ff_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82NC9mcmFnOmE5MThkMTc0ZDhjNTRmYmU5MjZkNzFkZDJjZTFlN2Y5L3RhYmxlOmU1NWVhMTM5ZDUzZjQ0YTE4NWEzZjg3MGQ1MDM3OTM3L3RhYmxlcmFuZ2U6ZTU1ZWExMzlkNTNmNDRhMTg1YTNmODcwZDUwMzc5MzdfMi0yLTEtMS0w_8f8ae3ff-95e8-470e-a460-8aae7f75148c"
      unitRef="usd">4252000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iac1b4e8d5e334b489e6fab9ec6ea66a3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82NC9mcmFnOmE5MThkMTc0ZDhjNTRmYmU5MjZkNzFkZDJjZTFlN2Y5L3RhYmxlOmU1NWVhMTM5ZDUzZjQ0YTE4NWEzZjg3MGQ1MDM3OTM3L3RhYmxlcmFuZ2U6ZTU1ZWExMzlkNTNmNDRhMTg1YTNmODcwZDUwMzc5MzdfMi00LTEtMS0w_20e5c063-b11b-49f5-9686-3e6e23b1efc3"
      unitRef="usd">3798000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ibb616f6cafed4e7da6716dcfdc9ae8b0_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82NC9mcmFnOmE5MThkMTc0ZDhjNTRmYmU5MjZkNzFkZDJjZTFlN2Y5L3RhYmxlOmU1NWVhMTM5ZDUzZjQ0YTE4NWEzZjg3MGQ1MDM3OTM3L3RhYmxlcmFuZ2U6ZTU1ZWExMzlkNTNmNDRhMTg1YTNmODcwZDUwMzc5MzdfMy0yLTEtMS0w_09b8c9e5-069b-4313-9cff-ea1f777bb635"
      unitRef="usd">13050000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ifd55246cbed7407c88ed3a166dfd35c7_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82NC9mcmFnOmE5MThkMTc0ZDhjNTRmYmU5MjZkNzFkZDJjZTFlN2Y5L3RhYmxlOmU1NWVhMTM5ZDUzZjQ0YTE4NWEzZjg3MGQ1MDM3OTM3L3RhYmxlcmFuZ2U6ZTU1ZWExMzlkNTNmNDRhMTg1YTNmODcwZDUwMzc5MzdfMy00LTEtMS0w_ce5a10d4-8ca5-4c4c-b078-d9f5ec2d642a"
      unitRef="usd">10618000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82NC9mcmFnOmE5MThkMTc0ZDhjNTRmYmU5MjZkNzFkZDJjZTFlN2Y5L3RhYmxlOmU1NWVhMTM5ZDUzZjQ0YTE4NWEzZjg3MGQ1MDM3OTM3L3RhYmxlcmFuZ2U6ZTU1ZWExMzlkNTNmNDRhMTg1YTNmODcwZDUwMzc5MzdfNC0yLTEtMS0w_217d4373-883a-4ecb-b9df-ad131c9d73a7"
      unitRef="usd">17302000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82NC9mcmFnOmE5MThkMTc0ZDhjNTRmYmU5MjZkNzFkZDJjZTFlN2Y5L3RhYmxlOmU1NWVhMTM5ZDUzZjQ0YTE4NWEzZjg3MGQ1MDM3OTM3L3RhYmxlcmFuZ2U6ZTU1ZWExMzlkNTNmNDRhMTg1YTNmODcwZDUwMzc5MzdfNC00LTEtMS0w_aee07a7e-ac9b-4b2d-90fa-66bd491473eb"
      unitRef="usd">14416000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RleHRyZWdpb246OTY4YjZjZDZjMTU2NGEyNGI0NWJmYmQyNzYwNjNiMGZfMjk5Mg_3370a94b-d419-4b62-b26f-cd3a250c668b">Segment and Related Information&lt;div&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;We provide integrated information management solutions and services for the public sector, with a focus on local governments.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;We provide our software systems and services and appraisal services through seven business units, which focus on the following products:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:-18pt;padding-left:56.25pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;&#x2022;&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;"&gt;financial management, education and planning, regulatory and maintenance software solutions;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:-18pt;padding-left:56.25pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;&#x2022;&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;"&gt;financial management, municipal courts, planning, regulatory and maintenance management software solutions;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:-18pt;padding-left:56.25pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;&#x2022;&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;"&gt;courts and justice and public safety software solutions; &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:-18pt;padding-left:56.25pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;&#x2022;&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;"&gt;data and insights solutions;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:-18pt;padding-left:56.25pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;&#x2022;&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;"&gt;case management and business management solutions; and&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:-18pt;padding-left:56.25pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;&#x2022;&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt;"&gt;appraisal and tax software solutions, property appraisal services and land and vital records management software solutions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;In accordance with ASC 280-10, &lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;"&gt;Segment Reporting&lt;/span&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;, the financial management, education and planning, regulatory and maintenance software solutions unit; financial management, municipal courts, planning, regulatory and maintenance, and land and vital records management software solutions unit; courts and justice and public safety software solutions unit; the data and insights solutions unit; and case management and business management solutions units meet the criteria for aggregation and are presented in one reportable segment, the Enterprise Software (&#x201c;ES&#x201d;) segment. The ES segment provides public sector entities with software systems and services to meet their information technology and automation needs for mission-critical &#x201c;back-office&#x201d; functions such as: financial management and education, courts and justice, public safety, planning, regulatory and maintenance, and data and insights. The Appraisal and Tax (&#x201c;A&amp;amp;T&#x201d;) segment provides systems and software that automate the appraisal and assessment of real and personal property, land and vital records management as well as property appraisal outsourcing services for local governments and taxing authorities. Property appraisal outsourcing services include: the physical inspection of commercial and residential properties; data collection and processing; computer analysis for property valuation; preparation of tax rolls; community education; and arbitration between taxpayers and the assessing jurisdiction.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;margin-bottom:12pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;We evaluate performance based on several factors, of which the primary financial measure is business segment operating income. We define segment operating income for our business units as income before non-cash amortization of intangible assets associated with their acquisitions, interest expense and income taxes. Segment operating income includes intercompany transactions. The majority of intercompany transactions relate to contracts involving more than one unit and are valued based on the contractual arrangement. Segment operating income for Corporate primarily consists of compensation costs for the executive management team and certain accounting and administrative staff and share-based compensation expense for the entire company. Corporate segment operating income also includes revenues and expenses related to a company-wide user conference. Due to the shelter-in-place orders caused by the COVID pandemic, we cancelled our company-wide user conference for the current year.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;margin-bottom:12pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;As of January 1, 2020, the land and vital records management business unit, which was previously reported in the ES segment, was moved to the A&amp;amp;T segment. These changes were made to reflect changes in the way in which management makes operating decisions, allocates resources, and manages the growth and profitability of the Company. Prior year amounts for the ES and A&amp;amp;T segments have been adjusted to reflect the segment change.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:98.976%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:43.642%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.538%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.850%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.538%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.850%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.538%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.850%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.538%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.856%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;For the three months ended March 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;15,951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,786&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;18,737&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;76,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,079&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;81,723&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;44,949&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;7,184&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;52,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;104,841&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;9,524&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;114,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;3,791&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;3,820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,001&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(4,019)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;250,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;30,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(4,017)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;276,541&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Segment operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;60,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;6,908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(20,068)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;47,312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:98.976%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:43.642%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.538%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.850%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.538%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.850%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.538%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.850%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.538%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.856%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;For the three months ended March 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;18,522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;3,271&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;21,793&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;63,255&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,020&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;67,275&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;40,456&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;7,987&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;48,443&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;91,188&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;8,964&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;100,152&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,189&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;3,484&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(3,553)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;221,035&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;29,587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(3,556)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;247,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Segment operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;55,474&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;7,095&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(16,546)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;46,023&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:77.631%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:65.984%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.306%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:13.254%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.741%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:12.315%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Reconciliation of reportable segment operating income to the Company's consolidated totals:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total segment operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;47,312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;46,023&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Amortization of acquired software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(8,027)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(6,682)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Amortization of customer and trade name intangibles&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(5,392)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(4,850)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Other income, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;586&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Income before income taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;34,883&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;35,077&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <tyl:NumberOfBusinessUnits
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RleHRyZWdpb246OTY4YjZjZDZjMTU2NGEyNGI0NWJmYmQyNzYwNjNiMGZfMjQ0_6e243d58-f144-47ab-a90f-b9fd78959706"
      unitRef="business_unit">7</tyl:NumberOfBusinessUnits>
    <us-gaap:NumberOfReportableSegments
      contextRef="i42f875f801df49e0ae125363a32e3b9f_D20200101-20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RleHRyZWdpb246OTY4YjZjZDZjMTU2NGEyNGI0NWJmYmQyNzYwNjNiMGZfMTE0NA_077c3ae5-bfb8-4f8d-95af-255715d2b4ea"
      unitRef="segment">1</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RleHRyZWdpb246OTY4YjZjZDZjMTU2NGEyNGI0NWJmYmQyNzYwNjNiMGZfMjk4OQ_eb2623f0-de75-4a65-ae6b-0e25fc370c9e">&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:98.976%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:43.642%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.538%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.850%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.538%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.850%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.538%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.850%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.538%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.856%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;For the three months ended March 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;15,951&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,786&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;18,737&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;76,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,079&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;81,723&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;44,949&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;7,184&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;52,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;104,841&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;9,524&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;114,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;3,791&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;3,820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,001&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(4,019)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;250,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;30,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(4,017)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;276,541&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Segment operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;60,472&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;6,908&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(20,068)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;47,312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:98.976%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:43.642%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.538%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.850%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.538%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.850%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.538%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.850%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.538%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.856%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;For the three months ended March 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;18,522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;3,271&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;21,793&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;63,255&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,020&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;67,275&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;40,456&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;7,987&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;48,443&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;91,188&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;8,964&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;100,152&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,130&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;62&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,189&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;3,484&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(3,553)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;221,035&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;29,587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(3,556)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;247,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Segment operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;55,474&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;7,095&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(16,546)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;46,023&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia638677e423e46e795938d5bfca9f360_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMy0yLTEtMS0w_033931fb-d128-4134-bd25-615924eed12c"
      unitRef="usd">15951000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i02e20e1488054973a7d677512336d4fb_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMy00LTEtMS0w_62c5c4b8-a841-4886-947e-c33e6efbc79e"
      unitRef="usd">2786000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1b9306c5d397496a83892163b6505b93_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMy02LTEtMS0w_44b04187-9d26-4adf-976d-056fdabafd6e"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if9be6dfd9bdb4d1dadb2df02216e2434_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMy04LTEtMS0w_1211eaeb-b8d9-409c-a434-d38449841b5d"
      unitRef="usd">18737000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i31ec1a4f303343f3ad1bcbe6dc24f086_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNC0yLTEtMS0w_09f35ef1-fe28-44b2-ba8e-da09c5a2189f"
      unitRef="usd">76644000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i73053d465832447da7cac300456c4044_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNC00LTEtMS0w_d01b30e0-7a20-4822-a444-2d0b864e35b0"
      unitRef="usd">5079000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8372ae198a8349d0a6941699d364f293_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNC02LTEtMS0w_45f403f0-c962-4d8d-b93d-da04cd4bb1dc"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i52db7fb94e9a43d3a090841e603a1f22_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNC04LTEtMS0w_6088bc90-a90d-4a9e-8323-8250223c7ba9"
      unitRef="usd">81723000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7186904b8c0c4f148f2c8e84d3a5175c_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNS0yLTEtMS0w_2c38149d-4744-472b-aaff-e90150eba376"
      unitRef="usd">44949000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic6396e699ba7498883d7de219f14fda9_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNS00LTEtMS0w_0ecffb54-77c6-43c7-a501-ed3086984464"
      unitRef="usd">7184000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iebcd92a7c6474103a59fdd915a76b6c0_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNS02LTEtMS0w_d173eb7d-443f-471c-9a52-a49709b05c16"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i22ad0df49d924893a3577a4c019909df_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNS04LTEtMS0w_1dc3dd75-828c-42a7-b49e-63148b5bf020"
      unitRef="usd">52133000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie1761f4920b9412d992f4aef88d84432_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNi0yLTEtMS0w_fb64f947-b339-4770-8be0-ffab7a107e0b"
      unitRef="usd">104841000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5318dd3099774c668755517ea1885983_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNi00LTEtMS0w_75119390-1c83-4bf9-a14f-7c0359087ae4"
      unitRef="usd">9524000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4a3429ab8342458ab88db39b49e8f9b6_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNi02LTEtMS0w_1aac6791-7717-4fd7-a317-57d3343f5f87"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i240b9b798d9f4a78bc53dc123e9d7930_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNi04LTEtMS0w_f72c3832-4373-452b-9410-41dbb7a9023f"
      unitRef="usd">114365000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9dec249933f5400d82affc613383cff5_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNy0yLTEtMS0w_17f0a8b1-ba13-4537-82e3-4726ed4885ed"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id7b90be9d14d426491f3ce3e4509d19f_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNy00LTEtMS0w_33195adb-739c-4e94-81b5-cbcd73338c8b"
      unitRef="usd">5763000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if8fdb33ac6544e9085af6789d5b70927_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNy02LTEtMS0w_0d736d06-42fa-47cf-a721-c561f2f9a00d"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie84c2a45cd6a4877a7182c409a4cc863_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfNy04LTEtMS0w_9035f304-9d19-49ee-8376-0891ded1efcc"
      unitRef="usd">5763000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i35d42cc86afc4d4d9eace7fa3ef7daf2_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfOC0yLTEtMS0w_6d80d2f6-56d5-4c49-8ae3-f3c419c6ea2c"
      unitRef="usd">3791000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i29a0984318494d8bb0f22c0324ebd5ad_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfOC00LTEtMS0w_e9b7c277-6e2a-46d0-b745-ce873cd855a3"
      unitRef="usd">27000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i763404a96d47446a88ccf5a480f6368e_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfOC02LTEtMS0w_cf3585c5-74b2-44d2-b83f-e60ace3cf25d"
      unitRef="usd">2000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5af9908d35fc421fa38fdefcf3533c05_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfOC04LTEtMS0w_68d2a94a-5831-4874-8cf9-a2fcb8274664"
      unitRef="usd">3820000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6e22976264eb477ebb061d302b1a4a52_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfOS0yLTEtMS0w_3dcf3bb8-d706-4cc7-b6bf-c1410d82229a"
      unitRef="usd">4001000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4108b1178c6d44a58e6ead6ef1b71a0c_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfOS00LTEtMS0w_d7fe42a0-ce8d-4ce4-b028-4fc8ec88caba"
      unitRef="usd">18000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i02f5a06064cc4ec28bd02663c5168da3_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfOS02LTEtMS0w_9f7ba5ba-ab3b-4093-a788-5fd9a5318eb5"
      unitRef="usd">-4019000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i944d80f733af47e19c5d70f7de91add8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMTAtMi0xLTEtMA_63ff9f31-0fab-44fd-8c89-d369fe0f3b91"
      unitRef="usd">250177000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4059a89ea6df435a8da4356261d9cf12_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMTAtNC0xLTEtMA_9cf502e3-4305-42a7-b507-f7415a209811"
      unitRef="usd">30381000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5930ed3cb5b3435aa6665d595745950e_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMTAtNi0xLTEtMA_a0dec6b3-20ae-4c79-855d-ffabd8882a8c"
      unitRef="usd">-4017000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMTAtOC0xLTEtMA_8c584929-4ec2-4ef2-941b-8ad1606b48d6"
      unitRef="usd">276541000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="i944d80f733af47e19c5d70f7de91add8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMTEtMi0xLTEtMA_02573acc-0a05-4743-96a2-84143962c706"
      unitRef="usd">60472000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i4059a89ea6df435a8da4356261d9cf12_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMTEtNC0xLTEtMA_c4527e29-962e-4592-8e90-ef8852b1dd77"
      unitRef="usd">6908000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i5930ed3cb5b3435aa6665d595745950e_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMTEtNi0xLTEtMA_a893c2fa-bbe9-47a1-b29f-fa1490e9dd58"
      unitRef="usd">-20068000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="iff0486376a584e5e9e13ef92fe8f90bc_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmYwYzUzY2JjODg1NTQwYmNiNWY0MTE3MzgyMzA4NDBlL3RhYmxlcmFuZ2U6ZjBjNTNjYmM4ODU1NDBiY2I1ZjQxMTczODIzMDg0MGVfMTEtOC0xLTEtMA_3b97d09b-e5d2-470c-9498-aeb050641079"
      unitRef="usd">47312000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if69a2b78847b40ae9f9373cf1912978a_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMy0yLTEtMS0w_0c1869e6-ccb9-48cc-8202-30693c528af8"
      unitRef="usd">18522000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iccdae54e7a27493d8f98f6a66c5f1194_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMy00LTEtMS0w_83b73ddc-2601-463f-990a-ff52bce9045d"
      unitRef="usd">3271000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i48170640a80847cb97c1d75106a008cd_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMy02LTEtMS0w_ae9c0f6e-28c2-408c-8586-dffcdf86b0c0"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id21098feabae4b92b6f5682c1e4471a3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMy04LTEtMS0w_8a9ab040-90fa-49fc-8979-90f5f017c411"
      unitRef="usd">21793000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2ae2aa28a883403c8172bad962ba4706_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNC0yLTEtMS0w_0b6340da-70f6-4c53-a6af-99e8ea6b56e5"
      unitRef="usd">63255000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id826499eeb364780be75ef5d950f8b81_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNC00LTEtMS0w_2890c7f6-4d7a-46a4-b673-4dc27bd9e06e"
      unitRef="usd">4020000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6e073656a53241679516e3df2a153368_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNC02LTEtMS0w_ef0467a3-5987-4a6e-b9f8-1ce58832b80c"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ife3e03665cb644d2b0fe0812b3be1710_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNC04LTEtMS0w_5bf87d59-2a05-4ca4-a0b8-0f325aa74dd4"
      unitRef="usd">67275000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i06f6a86f5ff940938d4b4236e0d5720d_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNS0yLTEtMS0w_20d1331d-f44c-4cd6-8bfb-8f6175ee511d"
      unitRef="usd">40456000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i08a9d0317108455889371733dcf957e3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNS00LTEtMS0w_d506ebe4-3ce8-4630-8906-8206b0eb6877"
      unitRef="usd">7987000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if751b1c96ca84edeb2ee59af17306cdc_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNS02LTEtMS0w_b2477c35-2725-4075-bef8-a731eb5b389b"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i922ed0a0756c470085fe495091639d66_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNS04LTEtMS0w_c326f6de-5fa6-49d8-bf0f-a0240ceeef59"
      unitRef="usd">48443000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9bc205ba155944e591edd215bb565320_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNi0yLTEtMS0w_c14fed7d-9122-4d1a-ad8f-06b5b48d6cd5"
      unitRef="usd">91188000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i499a0b9ab62a47a9a1bf005ef4e61524_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNi00LTEtMS0w_9f104b49-1eca-4bf4-94ba-adde12c94d33"
      unitRef="usd">8964000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i28e98d7972d84b1c93b23f62de28333a_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNi02LTEtMS0w_0afff3c8-227a-4664-8dd4-a5f5c619795e"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia1be6fa6298c4d629677609ef41783ea_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNi04LTEtMS0w_e59029d2-cfd6-491e-adbf-b29f172a9269"
      unitRef="usd">100152000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5197210f1bb74bb19eb6336213c6a8cc_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNy0yLTEtMS0w_d43053ed-7296-4ea5-baf5-d8b9d4d7cc0f"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4fad6c75854b41f8a7604205a2c1ea97_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNy00LTEtMS0w_9d318018-26f1-48fc-a77a-15adbd84fe47"
      unitRef="usd">5214000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i47756fec379740d0912899c98a50dc02_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNy02LTEtMS0w_cd6abd13-13ff-49b2-bb13-2400e4b2a782"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie1b58e04a8b34027811767211b7fabc2_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfNy04LTEtMS0w_cb5f9d12-a33c-4538-9d3b-b7d9201c850b"
      unitRef="usd">5214000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i51ac72b374cb40b6b3d5740ebfd0554a_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfOC0yLTEtMS0w_25feb133-efc0-4a50-ba29-abb05f2c00f5"
      unitRef="usd">4130000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5a017816013a430598fd4a7e7742597a_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfOC00LTEtMS0w_3218fb92-597a-43ab-b9d6-01370933a148"
      unitRef="usd">62000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if8b4873ec45e4fe083e35929d1ffadee_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfOC02LTEtMS0w_2ca6606e-9f9f-40d0-89b9-a912afc05e3b"
      unitRef="usd">-3000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idb04aa621c4848ffbc32c50f8b142f14_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfOC04LTEtMS0w_494be705-05bd-47cd-a173-2ea3b3e017ad"
      unitRef="usd">4189000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if0e6c18f09d44f2e8b69704bea001833_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfOS0yLTEtMS0w_e143d63e-7aed-4cfd-86be-a622f1616cdf"
      unitRef="usd">3484000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie375222b17754978a37dc3bff2cfc4cc_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfOS00LTEtMS0w_7163d09d-4ba9-4aec-842b-1c3b5a5b3f4b"
      unitRef="usd">69000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i17c88dcef4ef45ada567ec8ee42818fa_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfOS02LTEtMS0w_bdfae033-3b00-41e2-9b54-2deefdacffbc"
      unitRef="usd">-3553000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic4598c3e3afb485584b2e644355bd678_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMTAtMi0xLTEtMA_4704e268-99e5-4ac6-b6cf-03ce51fcec27"
      unitRef="usd">221035000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7aad1ceff15e45eab0bb04cdbd984454_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMTAtNC0xLTEtMA_3d16ba3f-579c-494b-931c-82f25d6b4181"
      unitRef="usd">29587000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i357a20f772354841b35f66d909d8013f_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMTAtNi0xLTEtMA_cda1dd23-b76b-46a2-b54c-f0f937569958"
      unitRef="usd">-3556000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMTAtOC0xLTEtMA_e8a50dd2-75ad-4d43-920d-3b494d4e0c67"
      unitRef="usd">247066000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="ic4598c3e3afb485584b2e644355bd678_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMTEtMi0xLTEtMA_22e98b7a-c247-4c02-9c07-35a811d876b4"
      unitRef="usd">55474000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i7aad1ceff15e45eab0bb04cdbd984454_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMTEtNC0xLTEtMA_6071873c-ecd3-4037-8240-37a94808b622"
      unitRef="usd">7095000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i357a20f772354841b35f66d909d8013f_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMTEtNi0xLTEtMA_88696cb8-f98f-42e2-b20f-4010eceb0b44"
      unitRef="usd">-16546000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="icc4557402c51425f9a7a8b8b90064f05_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOjZkNDhhOGM4Y2Q3NTRiNGQ5MDg5OGEzNTRmYjNjZGRjL3RhYmxlcmFuZ2U6NmQ0OGE4YzhjZDc1NGI0ZDkwODk4YTM1NGZiM2NkZGNfMTEtOC0xLTEtMA_850eecbf-159b-487e-a8ed-69019ffa4392"
      unitRef="usd">46023000</us-gaap:OperatingIncomeLoss>
    <us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RleHRyZWdpb246OTY4YjZjZDZjMTU2NGEyNGI0NWJmYmQyNzYwNjNiMGZfMjk5MA_d6ce196b-9b0f-4016-b919-04ea514d0fea">&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:77.631%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:65.984%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.306%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:13.254%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.741%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:12.315%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="9" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Three Months Ended March 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Reconciliation of reportable segment operating income to the Company's consolidated totals:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:9pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total segment operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;47,312&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;46,023&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Amortization of acquired software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(8,027)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(6,682)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Amortization of customer and trade name intangibles&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(5,392)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(4,850)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Other income, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;586&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Income before income taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;34,883&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;35,077&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock>
    <us-gaap:OperatingIncomeLoss
      contextRef="iff0486376a584e5e9e13ef92fe8f90bc_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmRiNjMzN2NjZDVlZjQ1YjZiYTA4ZjVmMzAxMGFiMDdmL3RhYmxlcmFuZ2U6ZGI2MzM3Y2NkNWVmNDViNmJhMDhmNWYzMDEwYWIwN2ZfMi0yLTEtMS0w_e2f0e42a-79f9-4038-bac2-308294ded794"
      unitRef="usd">47312000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="icc4557402c51425f9a7a8b8b90064f05_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmRiNjMzN2NjZDVlZjQ1YjZiYTA4ZjVmMzAxMGFiMDdmL3RhYmxlcmFuZ2U6ZGI2MzM3Y2NkNWVmNDViNmJhMDhmNWYzMDEwYWIwN2ZfMi00LTEtMS0w_4c2defcb-9c43-497e-abee-f3ac19be7dd9"
      unitRef="usd">46023000</us-gaap:OperatingIncomeLoss>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i6249daabf00a43ca9a0a9fc9581828a1_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmRiNjMzN2NjZDVlZjQ1YjZiYTA4ZjVmMzAxMGFiMDdmL3RhYmxlcmFuZ2U6ZGI2MzM3Y2NkNWVmNDViNmJhMDhmNWYzMDEwYWIwN2ZfMy0yLTEtMS0w_f3482b3e-1a49-4035-81f2-407917fc82e1"
      unitRef="usd">8027000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i8eb935a3bfb44b3c97e430acbfc4eb6f_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmRiNjMzN2NjZDVlZjQ1YjZiYTA4ZjVmMzAxMGFiMDdmL3RhYmxlcmFuZ2U6ZGI2MzM3Y2NkNWVmNDViNmJhMDhmNWYzMDEwYWIwN2ZfMy00LTEtMS0w_a6f4fed5-ebd6-4ec8-bd1e-6d334a54240e"
      unitRef="usd">6682000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="ie5a4f94c748349c49c587b4b00cba1ee_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmRiNjMzN2NjZDVlZjQ1YjZiYTA4ZjVmMzAxMGFiMDdmL3RhYmxlcmFuZ2U6ZGI2MzM3Y2NkNWVmNDViNmJhMDhmNWYzMDEwYWIwN2ZfNC0yLTEtMS0w_bd52cc2d-1838-41c4-a8d3-043bdce9a10a"
      unitRef="usd">5392000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="id32798fbaa3842f59a7d1565166db8ef_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmRiNjMzN2NjZDVlZjQ1YjZiYTA4ZjVmMzAxMGFiMDdmL3RhYmxlcmFuZ2U6ZGI2MzM3Y2NkNWVmNDViNmJhMDhmNWYzMDEwYWIwN2ZfNC00LTEtMS0w_65ae1a7f-32cd-42a4-83eb-95c582d98924"
      unitRef="usd">4850000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i5f3a34d3ef0543119430a070809fa972_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmRiNjMzN2NjZDVlZjQ1YjZiYTA4ZjVmMzAxMGFiMDdmL3RhYmxlcmFuZ2U6ZGI2MzM3Y2NkNWVmNDViNmJhMDhmNWYzMDEwYWIwN2ZfNS0yLTEtMS0w_1cbc4d71-d160-4400-9bb8-be53206cbb5d"
      unitRef="usd">990000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i1f584053dbb249b28b94a711ac2d24ec_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmRiNjMzN2NjZDVlZjQ1YjZiYTA4ZjVmMzAxMGFiMDdmL3RhYmxlcmFuZ2U6ZGI2MzM3Y2NkNWVmNDViNmJhMDhmNWYzMDEwYWIwN2ZfNS00LTEtMS0w_7e1c9285-17c7-4c73-9420-7407b0ee2e12"
      unitRef="usd">586000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmRiNjMzN2NjZDVlZjQ1YjZiYTA4ZjVmMzAxMGFiMDdmL3RhYmxlcmFuZ2U6ZGI2MzM3Y2NkNWVmNDViNmJhMDhmNWYzMDEwYWIwN2ZfNi0yLTEtMS0w_95915e6b-8e05-42e3-bd91-e9254506b280"
      unitRef="usd">34883000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV82Ny9mcmFnOjk2OGI2Y2Q2YzE1NjRhMjRiNDViZmJkMjc2MDYzYjBmL3RhYmxlOmRiNjMzN2NjZDVlZjQ1YjZiYTA4ZjVmMzAxMGFiMDdmL3RhYmxlcmFuZ2U6ZGI2MzM3Y2NkNWVmNDViNmJhMDhmNWYzMDEwYWIwN2ZfNi00LTEtMS0w_129eb1a6-4238-42d9-aa8d-0d53d81dbc34"
      unitRef="usd">35077000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RleHRyZWdpb246ZjZmYmIxMzk5MWYxNGUzY2EwYjVmMDBlZDc2ZGNkZDZfMTE3Mw_80b93a16-2161-4913-839c-48992aeb64f0">Timing of revenue recognition by revenue category during the period is as follows:&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:43.078%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:15.546%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:15.546%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:15.691%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;For the three months ended March 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Products and services transferred at a point in time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Products and services transferred over time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;16,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2,671&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;18,737&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;81,723&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;81,723&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;52,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;52,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;114,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;114,365&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,763&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;3,820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;3,820&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;19,886&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;256,655&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;276,541&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:43.301%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.501%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:15.531%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.501%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:15.531%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.501%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:15.534%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;For the three months ended March 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Products and services transferred at a point in time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Products and services transferred over time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;16,910&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,883&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;21,793&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;67,275&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;67,275&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;48,443&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;48,443&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;100,152&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;100,152&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;5,214&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,189&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,189&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;21,099&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;225,967&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;247,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-top:12pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Recurring revenues and non-recurring revenues recognized during the period are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:45.503%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.410%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.410%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.410%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.415%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;For the three months ended March 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;181,485&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;14,603&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;196,088&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Non-recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;64,691&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;15,760&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;80,453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;4,001&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(4,019)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;250,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;30,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(4,017)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;276,541&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-top:9pt;"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:100.000%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:45.503%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.410%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.410%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.410%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.513%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:10.415%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;For the three months ended March 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="height:14pt;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;padding-right:1pt;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;154,443&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;12,984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;167,427&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Non-recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;63,108&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;16,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;79,639&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;3,484&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(3,553)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;221,035&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;29,587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(3,556)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;247,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5f130b1cddfa464f81b553c4adfa1852_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfMy0yLTEtMS0w_51321007-dd58-495b-bcde-a4acc31daafa"
      unitRef="usd">16066000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7398be0f21e641939afc14ed98fd0c4a_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfMy00LTEtMS0w_c8af957d-7d61-488a-a948-1ba04e408bdb"
      unitRef="usd">2671000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if9be6dfd9bdb4d1dadb2df02216e2434_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfMy02LTEtMS0w_b252ecdd-94a9-4f5d-a3ca-b2a300fb5832"
      unitRef="usd">18737000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i778d0abd9ba94b548e2f23fe6215a02f_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNC0yLTEtMS0w_f9d34f6d-ed55-4156-8e84-bf75ca8a145a"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i88ad4490f06b4bcbaa1e384ff2cc636b_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNC00LTEtMS0w_65568d5e-c1a1-4016-b392-1f8dcec035bf"
      unitRef="usd">81723000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i52db7fb94e9a43d3a090841e603a1f22_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNC02LTEtMS0w_b1abbb45-301e-44e5-a6bb-c8ff753d04c0"
      unitRef="usd">81723000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i62a6afbc64914fe2879521e014caddae_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNS0yLTEtMS0w_257ebe6f-be86-413a-8090-6582b950d3af"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6159463330ca46c1ac24a6f57f8e04fd_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNS00LTEtMS0w_766b8989-f285-4335-88fa-026f45372dd5"
      unitRef="usd">52133000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i22ad0df49d924893a3577a4c019909df_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNS02LTEtMS0w_11091cc4-ed31-4680-a254-d2a843c7a00b"
      unitRef="usd">52133000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia5f26c0bcac143d8bd8f1a8e83640103_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNi0yLTEtMS0w_35aa9274-926f-44f6-8538-1baf6a3d9390"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7ff257486b7c44758c908850034cf1b4_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNi00LTEtMS0w_9372d66f-9049-4c99-b4fe-a762f1c3bbec"
      unitRef="usd">114365000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i240b9b798d9f4a78bc53dc123e9d7930_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNi02LTEtMS0w_6e28c75c-8698-4e95-80d0-584f1f729508"
      unitRef="usd">114365000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2a59a79167eb46ab80d96d3e4760a4de_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNy0yLTEtMS0w_3bced543-459a-4347-8e97-8f10ad6bbcc9"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i567a9f2fc37649f4bbf0cacb19642020_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNy00LTEtMS0w_2adfcc1e-c0b9-4482-bc1c-68fd5c70b110"
      unitRef="usd">5763000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie84c2a45cd6a4877a7182c409a4cc863_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfNy02LTEtMS0w_1baf1e56-79e4-45ca-b1cd-4e722c687eed"
      unitRef="usd">5763000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i91dc0fcbcb6e4a108e0b78afea5903e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfOC0yLTEtMS0w_37b6956d-c02b-4cdd-b473-354b88926eab"
      unitRef="usd">3820000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie8bbbe9b2e57404aa10d598afb1670ba_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfOC00LTEtMS0w_1315fcf6-fb65-46f5-ad73-811334644df5"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5af9908d35fc421fa38fdefcf3533c05_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfOC02LTEtMS0w_01f0240f-6868-4fae-a52a-741f1b8c1d2e"
      unitRef="usd">3820000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic2167dfd77a64473aa8874253785bdaf_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfOS0yLTEtMS0w_ca544c2b-52ef-477d-85b6-4416b1ac42c2"
      unitRef="usd">19886000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i32abe40a2a344d6aa7c44349293ec062_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfOS00LTEtMS0w_f4b0ce4c-465f-451d-918b-2ecda1a93198"
      unitRef="usd">256655000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOmQ1YjQwNjVjOGU5ZDRkMDFhNzY1NDNmNWQ0YjMyNmU5L3RhYmxlcmFuZ2U6ZDViNDA2NWM4ZTlkNGQwMWE3NjU0M2Y1ZDRiMzI2ZTlfOS02LTEtMS0w_33a56567-be4d-451d-98b7-204bd617d953"
      unitRef="usd">276541000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic438154480a547968214ff66cc860671_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfMy0yLTEtMS0w_d51b25c1-5dae-46fd-b329-0162c75f1bdc"
      unitRef="usd">16910000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i81aeec1e60b34522bb6c10a9ae42c55a_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfMy00LTEtMS0w_c00f315b-707e-49c2-852d-ef23c649b4d6"
      unitRef="usd">4883000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id21098feabae4b92b6f5682c1e4471a3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfMy02LTEtMS0w_e662b660-f79f-48d8-867f-d60f6914c45b"
      unitRef="usd">21793000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifc620dad4052457291a8289093c3926c_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNC0yLTEtMS0w_f3dffd05-c6da-41f7-a8af-be75a6f1d86b"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i06486b440a2f42fca2926dd5c34b80a1_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNC00LTEtMS0w_329b417f-8bf5-4e50-a232-efbd0b9214d0"
      unitRef="usd">67275000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ife3e03665cb644d2b0fe0812b3be1710_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNC02LTEtMS0w_87b54cdf-441e-4733-b0f9-866d15c127d3"
      unitRef="usd">67275000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i335e8bf2b0b542acac9fc8b7e0866e20_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNS0yLTEtMS0w_208ce335-54d8-42cb-a586-69cbc5763c73"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib5e9933f07ca4cd8b92fef549b555c84_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNS00LTEtMS0w_6dbd8945-c459-4cf2-87af-9b67158a741f"
      unitRef="usd">48443000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i922ed0a0756c470085fe495091639d66_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNS02LTEtMS0w_f0bdbac8-b62f-4d02-baa6-5f449d14b179"
      unitRef="usd">48443000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i763adef998874ca09bf9a556462a1335_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNi0yLTEtMS0w_01abce45-5924-4c85-a222-5533edd7dd24"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id6a28479ee6441a09aa3eb575fa2c9c4_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNi00LTEtMS0w_d20601d1-4afa-4fe0-87cf-fd4920cfcded"
      unitRef="usd">100152000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia1be6fa6298c4d629677609ef41783ea_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNi02LTEtMS0w_55ac264f-700e-45b5-898e-d85a82e07c03"
      unitRef="usd">100152000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icb4d7bf548f64734a9d5697f644631da_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNy0yLTEtMS0w_ef0d10b8-eb7d-4c9c-9491-a25f290a8ab1"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i48e012f533f94e69bec4c184beac70c9_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNy00LTEtMS0w_b54c5b9b-64f3-4320-8fe4-f8247bd7ead9"
      unitRef="usd">5214000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie1b58e04a8b34027811767211b7fabc2_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfNy02LTEtMS0w_f73707f3-ab3d-4e47-9043-4ab1b4ad5b16"
      unitRef="usd">5214000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie2bbb44fb4b64a8dbb0c0551ba464c81_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfOC0yLTEtMS0w_20f7e9b6-b034-4c0a-8a86-8ddda52ca0f9"
      unitRef="usd">4189000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if6d202e298f749ca9661adec9ef9e826_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfOC00LTEtMS0w_5f235a22-4c2a-4a5c-a110-b845ae29f91a"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idb04aa621c4848ffbc32c50f8b142f14_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfOC02LTEtMS0w_cfc55f15-d38c-415d-9aae-1b75a9e889b5"
      unitRef="usd">4189000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i96d8cad12e5a4cf5a7e3d55f96d5fe1f_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfOS0yLTEtMS0w_db796977-f813-45cd-9503-f3e39c417e4c"
      unitRef="usd">21099000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic0736c9243224541a773474e71c816e7_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfOS00LTEtMS0w_1a5212a8-f2b6-4937-b8b3-bb96733efe88"
      unitRef="usd">225967000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjNkMmQzNjUzMmQzODRhNjE5YTg3ODBhZWUxNjQ1ODI0L3RhYmxlcmFuZ2U6M2QyZDM2NTMyZDM4NGE2MTlhODc4MGFlZTE2NDU4MjRfOS02LTEtMS0w_e14164a0-25b4-43a0-b967-fda306abe30a"
      unitRef="usd">247066000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <tyl:RevenueFromContractWithCustomerContractTerm
      contextRef="iddae0efff8774178a4dbab5c433849a1_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RleHRyZWdpb246ZjZmYmIxMzk5MWYxNGUzY2EwYjVmMDBlZDc2ZGNkZDZfODM4_10e1793b-f015-4b58-9f81-ae1f0c6dae15">P10Y</tyl:RevenueFromContractWithCustomerContractTerm>
    <tyl:RevenueFromContractWithCustomerTypicalContractTerm
      contextRef="iddae0efff8774178a4dbab5c433849a1_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RleHRyZWdpb246ZjZmYmIxMzk5MWYxNGUzY2EwYjVmMDBlZDc2ZGNkZDZfODk5_a60e22de-9a62-469b-934a-c7102049c21f">P5Y</tyl:RevenueFromContractWithCustomerTypicalContractTerm>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9679ba3cd4cc4e29a1c62acc23e58d13_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfMy0yLTEtMS0w_f943e8f2-0711-449b-96da-9015ce3f2cc1"
      unitRef="usd">181485000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iac5740cc78f54eee9c7d2e9261916a6c_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfMy00LTEtMS0w_b7186019-4744-4d89-b81b-85b358eae7ab"
      unitRef="usd">14603000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2f528cca431049179489cea19abd7ee2_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfMy02LTEtMS0w_6594d984-0957-4ba5-9ecc-98d900111614"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if772a08e639f470b9939da8a14f55a5d_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfMy04LTEtMS0w_193424a6-a10d-4827-b0ab-3eba3b5d53f8"
      unitRef="usd">196088000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib87744e9a74345f0b52df5613ffae72d_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNC0yLTEtMS0w_8200c433-5ee7-4763-b7eb-ba14e9a2a499"
      unitRef="usd">64691000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i15bcb49591934137ad58b30dcd83922f_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNC00LTEtMS0w_1b608be8-a6f2-4178-9dc8-ecbcd9f315fa"
      unitRef="usd">15760000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i53770699f6244425b7aa35cfb1ef90f0_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNC02LTEtMS0w_4b3411c3-6e95-4ade-a117-e0acd3487c36"
      unitRef="usd">2000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if01372c8c4d54f22822bd4fddf261589_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNC04LTEtMS0w_b3ba1d5a-5b24-42e8-b4ff-7435973bbb38"
      unitRef="usd">80453000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6e22976264eb477ebb061d302b1a4a52_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNS0yLTEtMS0w_dca3217c-db20-438d-9dcc-ddd470b6879a"
      unitRef="usd">4001000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4108b1178c6d44a58e6ead6ef1b71a0c_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNS00LTEtMS0w_fa194703-b6bf-4685-9054-3a700701f281"
      unitRef="usd">18000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i02f5a06064cc4ec28bd02663c5168da3_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNS02LTEtMS0w_0c1bfdd3-1a99-4f17-9bf7-9aef608d286f"
      unitRef="usd">-4019000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i944d80f733af47e19c5d70f7de91add8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNi0yLTEtMS0w_51fb5a7c-314e-4840-8ec1-1a048f14c2a8"
      unitRef="usd">250177000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4059a89ea6df435a8da4356261d9cf12_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNi00LTEtMS0w_9db2b6f8-e8fb-4c8f-9cdd-6bee70ca4bd0"
      unitRef="usd">30381000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic472cdd08b174bd0a334358c7a78f7fc_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNi02LTEtMS0w_1ce5f89f-affd-4a9c-9994-281012576073"
      unitRef="usd">-4017000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjY3NTIyODU4MTYxOTRiMDliZDk4YjFlYjQ2MjljNmM4L3RhYmxlcmFuZ2U6Njc1MjI4NTgxNjE5NGIwOWJkOThiMWViNDYyOWM2YzhfNi04LTEtMS0w_a22ebc5d-60ff-48dd-a331-7ad64edfefe0"
      unitRef="usd">276541000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iab4b962eb99943ce8de03a471bdb3f9d_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfMy0yLTEtMS0w_97a24326-6e01-4f7f-9e86-260245650aa6"
      unitRef="usd">154443000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i209cfcbffb764ac08c3ab8ad36a62c8b_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfMy00LTEtMS0w_592f4c5e-db3a-406a-9ea3-7edaf2a891e6"
      unitRef="usd">12984000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0d6133ab4f484af596b13cec4e042473_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfMy02LTEtMS0w_f6819fa1-8efb-479a-9a77-4f82e8538bc5"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i13606cafdc7a487983431a017a0c209b_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfMy04LTEtMS0w_73b0e12e-09af-4f07-875c-ff6deae09bea"
      unitRef="usd">167427000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i01651462b82441cfab958cd39f1cb072_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNC0yLTEtMS0w_b0cfe6dd-d163-4973-bbf1-85ce0cdba812"
      unitRef="usd">63108000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7c2c0f3af757401fbd9afb82c07b9105_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNC00LTEtMS0w_9b742ec0-e160-4475-9cbc-52f4935bb103"
      unitRef="usd">16534000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie1c4de1e95d34d4c8f57d4de2d7aced4_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNC02LTEtMS0w_29e9b431-0c03-4424-beae-0c02ce45cd19"
      unitRef="usd">-3000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4948357185d84a6683271b22dde1252e_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNC04LTEtMS0w_56183497-f3d4-4afc-a380-ff568253c6b3"
      unitRef="usd">79639000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if0e6c18f09d44f2e8b69704bea001833_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNS0yLTEtMS0w_30a2e72e-eabb-4bcd-961c-1d53026cd543"
      unitRef="usd">3484000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie375222b17754978a37dc3bff2cfc4cc_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNS00LTEtMS0w_d828aed1-7da6-4db3-9fa4-f65f58627b02"
      unitRef="usd">69000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i17c88dcef4ef45ada567ec8ee42818fa_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNS02LTEtMS0w_cb278e02-9afc-40a9-a958-1056cb8bece6"
      unitRef="usd">-3553000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic4598c3e3afb485584b2e644355bd678_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNi0yLTEtMS0w_513f4001-a048-434a-b7de-b5a3cb73219b"
      unitRef="usd">221035000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7aad1ceff15e45eab0bb04cdbd984454_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNi00LTEtMS0w_3d6ce006-5596-4853-ab72-7933ba20ccfe"
      unitRef="usd">29587000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia44a14fb59ac495ea50bf95a685a16d8_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNi02LTEtMS0w_8fa1a067-3d42-4909-9c14-ff94a8777e13"
      unitRef="usd">-3556000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7408ede5a1dc41f880f243d061460fd3_D20190101-20190331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83MC9mcmFnOmY2ZmJiMTM5OTFmMTRlM2NhMGI1ZjAwZWQ3NmRjZGQ2L3RhYmxlOjQ2MjZmYzViM2VhYTQzNGM4YjQxZDA2OGFhODNhYjhkL3RhYmxlcmFuZ2U6NDYyNmZjNWIzZWFhNDM0YzhiNDFkMDY4YWE4M2FiOGRfNi04LTEtMS0w_01150db1-789f-4c54-a4a9-dcc9f37ad1f3"
      unitRef="usd">247066000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RleHRyZWdpb246YWFjM2M1ZWRmYTUwNGE5OGFhMDdkNTNlNDEyN2FjZDNfNzI4_5a395fbf-8b0f-4a07-8174-0363703859b1">&lt;div style="text-align:justify;margin-top:9pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Total deferred revenue, including long-term, by segment is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-top:9pt;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:75.877%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:48.674%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.763%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:21.699%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:0.763%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:21.701%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;March 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Enterprise Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;333,314&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;375,838&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;31,205&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;35,487&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,607&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;1,369&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;366,126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;412,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;"&gt;&lt;span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;"&gt;Changes in total deferred revenue, including long-term, were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center;margin-bottom:6pt;"&gt;&lt;table style="margin-left:auto;margin-right:auto;border-collapse:collapse;text-align:left;text-indent:0pt;display:inline-table;width:76.754%;"&gt;&lt;tr&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:73.238%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.133%;"/&gt;&lt;td style="width:0.1%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;td style="width:21.429%;"/&gt;&lt;td style="width:1.0%;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="background-color:rgb(255,255,255, 0.0);text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:rgb(255,255,255, 0.0);text-align:center;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:8pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Three months ended March 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Balance as of December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;412,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Deferral of revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;198,324&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Recognition of deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td colspan="2" style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-left:1pt;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;(244,892)&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#cceeff;text-align:right;vertical-align:bottom;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;td colspan="3" style="display:none;"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;Balance as of March 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;text-align:left;vertical-align:bottom;padding-left:1pt;padding-right:1pt;"/&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:left;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-left:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:0%;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;366,126&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding-top:2px;padding-bottom:2px;background-color:#ffffff;text-align:right;vertical-align:bottom;border-top:1pt solid #000000;border-bottom:3pt double #000000;padding-right:1pt;"&gt;&lt;span style="font-size:10pt;font-weight:400;font-family:'Times New Roman',sans-serif;color:#000000;background-color:rgb(255,255,255, 0.0);"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i4be7e173672747c39fd45e67723f4657_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOmUwYWY0MGFmNGM3OTQyODc5MWE2NTZmYmVhN2NhYzZlL3RhYmxlcmFuZ2U6ZTBhZjQwYWY0Yzc5NDI4NzkxYTY1NmZiZWE3Y2FjNmVfMS0yLTEtMS0w_043f5f38-1001-4382-a4db-548ce9c86925"
      unitRef="usd">333314000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="id98be3fd44f641dd86477ce4adb5173b_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOmUwYWY0MGFmNGM3OTQyODc5MWE2NTZmYmVhN2NhYzZlL3RhYmxlcmFuZ2U6ZTBhZjQwYWY0Yzc5NDI4NzkxYTY1NmZiZWE3Y2FjNmVfMS00LTEtMS0w_c165a5ec-6330-4640-9567-2241eebb5afb"
      unitRef="usd">375838000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i2638b261af7345f396d48d9f8300ae62_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOmUwYWY0MGFmNGM3OTQyODc5MWE2NTZmYmVhN2NhYzZlL3RhYmxlcmFuZ2U6ZTBhZjQwYWY0Yzc5NDI4NzkxYTY1NmZiZWE3Y2FjNmVfMi0yLTEtMS0w_250d19d4-5032-442a-8168-31ef13e6d197"
      unitRef="usd">31205000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i3094a16384cf4b55aff65cc2fd119cc0_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOmUwYWY0MGFmNGM3OTQyODc5MWE2NTZmYmVhN2NhYzZlL3RhYmxlcmFuZ2U6ZTBhZjQwYWY0Yzc5NDI4NzkxYTY1NmZiZWE3Y2FjNmVfMi00LTEtMS0w_b498ab0d-19ba-44fd-8c80-4e1a477cfcca"
      unitRef="usd">35487000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="ifd79c864ee4b409995e6af58347afb48_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOmUwYWY0MGFmNGM3OTQyODc5MWE2NTZmYmVhN2NhYzZlL3RhYmxlcmFuZ2U6ZTBhZjQwYWY0Yzc5NDI4NzkxYTY1NmZiZWE3Y2FjNmVfMy0yLTEtMS0w_083cccad-f73d-4b7b-9074-1882c4836514"
      unitRef="usd">1607000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="id3bbee42c456455faba0dd145bb5bc58_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOmUwYWY0MGFmNGM3OTQyODc5MWE2NTZmYmVhN2NhYzZlL3RhYmxlcmFuZ2U6ZTBhZjQwYWY0Yzc5NDI4NzkxYTY1NmZiZWE3Y2FjNmVfMy00LTEtMS0w_7fdf15d7-6957-4d98-b827-0b5b2f41b269"
      unitRef="usd">1369000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOmUwYWY0MGFmNGM3OTQyODc5MWE2NTZmYmVhN2NhYzZlL3RhYmxlcmFuZ2U6ZTBhZjQwYWY0Yzc5NDI4NzkxYTY1NmZiZWE3Y2FjNmVfNC0yLTEtMS0w_263eef92-0473-433e-bf09-d8a01c4cdb66"
      unitRef="usd">366126000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOmUwYWY0MGFmNGM3OTQyODc5MWE2NTZmYmVhN2NhYzZlL3RhYmxlcmFuZ2U6ZTBhZjQwYWY0Yzc5NDI4NzkxYTY1NmZiZWE3Y2FjNmVfNC00LTEtMS0w_11b957f3-e2a2-4041-b570-17254112d588"
      unitRef="usd">412694000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="ic34cb5da26534e7e83310f5e76c3166f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOjA4NGQ1YzU4ZGJlNTQ0NWU5MGExM2IyZjI5OGJhNWU1L3RhYmxlcmFuZ2U6MDg0ZDVjNThkYmU1NDQ1ZTkwYTEzYjJmMjk4YmE1ZTVfMS0yLTEtMS0w_11b957f3-e2a2-4041-b570-17254112d588"
      unitRef="usd">412694000</us-gaap:ContractWithCustomerLiability>
    <tyl:ContractWithCustomerLiabilityIncreaseFromDeferral
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOjA4NGQ1YzU4ZGJlNTQ0NWU5MGExM2IyZjI5OGJhNWU1L3RhYmxlcmFuZ2U6MDg0ZDVjNThkYmU1NDQ1ZTkwYTEzYjJmMjk4YmE1ZTVfMi0yLTEtMS0w_8dbe7244-9580-4afe-93e0-8193805d9d70"
      unitRef="usd">198324000</tyl:ContractWithCustomerLiabilityIncreaseFromDeferral>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOjA4NGQ1YzU4ZGJlNTQ0NWU5MGExM2IyZjI5OGJhNWU1L3RhYmxlcmFuZ2U6MDg0ZDVjNThkYmU1NDQ1ZTkwYTEzYjJmMjk4YmE1ZTVfMy0yLTEtMS0w_7da4a2f8-d921-46e7-87f5-b77fd5c0a701"
      unitRef="usd">244892000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RhYmxlOjA4NGQ1YzU4ZGJlNTQ0NWU5MGExM2IyZjI5OGJhNWU1L3RhYmxlcmFuZ2U6MDg0ZDVjNThkYmU1NDQ1ZTkwYTEzYjJmMjk4YmE1ZTVfOS0yLTEtMS0w_448eea6a-40ad-464d-8473-95fcecee16e2"
      unitRef="usd">366126000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RleHRyZWdpb246YWFjM2M1ZWRmYTUwNGE5OGFhMDdkNTNlNDEyN2FjZDNfNjA4_1d201c95-dc31-4f97-a3f4-d1edf08a9b69"
      unitRef="usd">1500000000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="i5d69f3a426294011a0c91acb9425c994_I20200331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RleHRyZWdpb246YWFjM2M1ZWRmYTUwNGE5OGFhMDdkNTNlNDEyN2FjZDNfNjU4_e1763ba6-3cd2-4fc5-93f3-30f73ad51104"
      unitRef="number">0.48</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="i5d69f3a426294011a0c91acb9425c994_I20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83Ni9mcmFnOmFhYzNjNWVkZmE1MDRhOThhYTA3ZDUzZTQxMjdhY2QzL3RleHRyZWdpb246YWFjM2M1ZWRmYTUwNGE5OGFhMDdkNTNlNDEyN2FjZDNfNjg2_9af4ee31-70dc-4c41-aee9-0980d2d86cda">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83OS9mcmFnOmExMDJhOTVmZjczMTQzYzk5YzFhMmE4ZTVjODY3MGRmL3RleHRyZWdpb246YTEwMmE5NWZmNzMxNDNjOTljMWEyYThlNWM4NjcwZGZfMjE5_2d29c9a2-5acc-49db-b778-6bac875908fa">Commitments and ContingenciesOther than routine litigation incidental to our business, there are no material legal proceedings pending to which we are party or to which any of our properties are subject.</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <tyl:NumberOfLegalProceedingsThatHaveMaterialEffect
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV83OS9mcmFnOmExMDJhOTVmZjczMTQzYzk5YzFhMmE4ZTVjODY3MGRmL3RleHRyZWdpb246YTEwMmE5NWZmNzMxNDNjOTljMWEyYThlNWM4NjcwZGZfMTA5_a6825e35-b05a-4004-96d8-5e92881b52e9"
      unitRef="legalmatter">0</tyl:NumberOfLegalProceedingsThatHaveMaterialEffect>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="i3b21456c3aa8452ab85effcf6bed18e8_D20200101-20200331"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV84Mi9mcmFnOmY1NjA0YjZlYjllZDQ2YjZhMTE4NzFlNjU3OGYxNmI2L3RleHRyZWdpb246ZjU2MDRiNmViOWVkNDZiNmExMTg3MWU2NTc4ZjE2YjZfNDk4_fe8d3bb2-1082-46a2-a8f0-d8465b84dbab">Subsequent Events There have been no material events and transactions that occurred subsequent to March&#160;31, 2020.</us-gaap:SubsequentEventsTextBlock>
    <tyl:RecurringRevenuePercentageOfTotalRevenue
      contextRef="i3a034c88ef4f4a1b9bf7055967030885_I20200331"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmRlZGQ4ZDNlMGIxNjQ0NDhhN2FlYjM0ODYzNmVkMmE5L3NlYzpkZWRkOGQzZTBiMTY0NDQ4YTdhZWIzNDg2MzZlZDJhOV8xMDAvZnJhZzozMDM1NjEyNGVkYzA0ZGMxYTBmNWE2YjhhMmJlNDc1ZC90ZXh0cmVnaW9uOjMwMzU2MTI0ZWRjMDRkYzFhMGY1YTZiOGEyYmU0NzVkXzU0OTc1NTgxNTkwMjQ_ff1fc1d1-297e-4dd7-8bae-bdc285d3a6b1"
      unitRef="number">0.71</tyl:RecurringRevenuePercentageOfTotalRevenue>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6799289440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of Presentation<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2020</div></th></tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock', window );">Basis of Presentation</a></td>
<td class="text">Basis of Presentation<div><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">We prepared the accompanying condensed consolidated financial statements following the requirements of the Securities and Exchange Commission (&#8220;SEC&#8221;) and accounting principles generally accepted in the United States, or GAAP, for interim reporting. As permitted under those rules, certain footnotes or other financial information that are normally required by GAAP can be condensed or omitted for interim periods. Balance sheet amounts are as of March&#160;31, 2020, and December&#160;31, 2019, and operating result amounts are for the three months ended March&#160;31, 2020, and 2019, respectively, and include all normal and recurring adjustments that we considered necessary for the fair summarized presentation of our financial position and operating results. As these are condensed financial statements, one should also read the financial statements and notes included in our latest Form 10-K for the year ended December&#160;31, 2019. Revenues, expenses, assets and liabilities can vary during each quarter of the year. Therefore, the results and trends in these interim financial statements may not be the same as those for the full year. Certain amounts for the previous year have been reclassified to conform to the current year presentation.</span></div><div style="margin-top:6pt;margin-bottom:6pt;"><span style="background-color:rgb(255,255,255, 0.0);color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;">Comprehensive income (loss) is defined as the change in equity of a business enterprise during a period from transactions, and other events and circumstances from non-owner sources and includes all components of net income (loss) and other comprehensive income (loss). We had no items of other comprehensive income (loss) for the three months ended March&#160;31, 2020, and 2019.</span></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 205<br> -URI http://asc.fasb.org/topic&amp;trid=2122149<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 810<br> -URI http://asc.fasb.org/topic&amp;trid=2197479<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>nonnum:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6906485136">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Additional Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseRenewalTerm', window );">Operating lease renewal term (up to)</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LeaseCost', window );">Operating lease, cost</a></td>
<td class="nump">$ 2,634<span></span>
</td>
<td class="nump">$ 2,103<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LessorOperatingLeaseRenewalTerm', window );">Lessor, operating lease renewal term</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RentalIncomeNonoperating', window );">Rental income</a></td>
<td class="nump">$ 274<span></span>
</td>
<td class="nump">$ 284<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Operating lease term</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeLeaseDescriptionLineItems', window );"><strong>Lessee, Lease, Description</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseTermOfContract', window );">Operating lease term</a></td>
<td class="text">8 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lease cost recognized by lessee for lease contract.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918686-209980<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 55<br> -Paragraph 53<br> -URI http://asc.fasb.org/extlink&amp;oid=77888399&amp;loc=SL77918982-209971<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeLeaseDescriptionLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeLeaseDescriptionLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseRenewalTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918673-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseRenewalTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918673-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseTermOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LessorOperatingLeaseRenewalTerm">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Term of lessor's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 30<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=119202524&amp;loc=SL77919359-209981<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LessorOperatingLeaseRenewalTerm</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RentalIncomeNonoperating">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Income earned by providing the use of assets to an outside party in exchange for a payment or series of payments that is nonoperating in nature.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -URI http://asc.fasb.org/extlink&amp;oid=116634182&amp;loc=SL114868664-224227<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RentalIncomeNonoperating</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6651889600">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Maturity of lease liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Operating Leases</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">2020 (Remaining 2020)</a></td>
<td class="nump">$ 5,845<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2021</a></td>
<td class="nump">6,340<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">2022</a></td>
<td class="nump">4,021<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">2023</a></td>
<td class="nump">2,989<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">2024</a></td>
<td class="nump">2,545<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">Thereafter</a></td>
<td class="nump">2,133<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total lease payments</a></td>
<td class="nump">23,873<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less: Interest</a></td>
<td class="num">(1,952)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Present value of operating lease liabilities</a></td>
<td class="nump">$ 21,921<span></span>
</td>
<td class="nump">$ 23,209<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due after fifth fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fifth fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in fourth fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in third fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease, due in second fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments for operating lease having an initial or remaining lease term in excess of one year due in remainder of fiscal year following latest fiscal year.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 50<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=77888426&amp;loc=SL77918701-209980<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6819301440">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Dec. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 301,985<span></span>
</td>
<td class="nump">$ 232,682<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable (less allowance for losses and sales adjustments of $6,470 in 2020 and $5,738 in 2019)</a></td>
<td class="nump">318,144<span></span>
</td>
<td class="nump">374,089<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShortTermInvestments', window );">Short-term investments</a></td>
<td class="nump">38,250<span></span>
</td>
<td class="nump">39,399<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PrepaidExpenseCurrent', window );">Prepaid expenses</a></td>
<td class="nump">33,964<span></span>
</td>
<td class="nump">24,717<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxReceivable', window );">Income tax receivable</a></td>
<td class="nump">16,657<span></span>
</td>
<td class="nump">6,482<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other current assets</a></td>
<td class="nump">3,220<span></span>
</td>
<td class="nump">2,328<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">712,220<span></span>
</td>
<td class="nump">679,697<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetNoncurrent', window );">Accounts receivable, long-term</a></td>
<td class="nump">21,394<span></span>
</td>
<td class="nump">22,432<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating lease right-of-use assets</a></td>
<td class="nump">17,992<span></span>
</td>
<td class="nump">18,992<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">175,460<span></span>
</td>
<td class="nump">171,861<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrentAbstract', window );"><strong>Other assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">840,028<span></span>
</td>
<td class="nump">840,117<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Other intangibles, net</a></td>
<td class="nump">366,506<span></span>
</td>
<td class="nump">378,914<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InvestmentsAndOtherNoncurrentAssets', window );">Non-current investments and other assets</a></td>
<td class="nump">85,776<span></span>
</td>
<td class="nump">79,601<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Assets', window );">&#160;Total assets</a></td>
<td class="nump">2,219,376<span></span>
</td>
<td class="nump">2,191,614<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">12,958<span></span>
</td>
<td class="nump">14,977<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">59,765<span></span>
</td>
<td class="nump">75,234<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating lease liabilities</a></td>
<td class="nump">6,373<span></span>
</td>
<td class="nump">6,387<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TaxesPayableCurrent', window );">Current income tax payable</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue</a></td>
<td class="nump">365,959<span></span>
</td>
<td class="nump">412,495<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">445,055<span></span>
</td>
<td class="nump">509,093<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LongTermLineOfCredit', window );">Revolving line of credit</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityNoncurrent', window );">Deferred revenue, long-term</a></td>
<td class="nump">167<span></span>
</td>
<td class="nump">199<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income taxes</a></td>
<td class="nump">45,774<span></span>
</td>
<td class="nump">48,442<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating lease liabilities, long-term</a></td>
<td class="nump">15,548<span></span>
</td>
<td class="nump">16,822<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Shareholders' equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_PreferredStockValue', window );">Preferred stock, $10.00 par value; 1,000,000 shares authorized; none issued</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $0.01 par value; 100,000,000 shares authorized; 48,147,969 shares issued and outstanding as of March 31, 2020 and December 31, 2019</a></td>
<td class="nump">481<span></span>
</td>
<td class="nump">481<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">798,089<span></span>
</td>
<td class="nump">739,478<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss, net of tax</a></td>
<td class="num">(46)<span></span>
</td>
<td class="num">(46)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">964,886<span></span>
</td>
<td class="nump">917,336<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury stock, at cost; 8,397,086 and 8,839,352 shares in 2020 and 2019, respectively</a></td>
<td class="num">(50,578)<span></span>
</td>
<td class="num">(40,191)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total shareholders' equity</a></td>
<td class="nump">1,712,832<span></span>
</td>
<td class="nump">1,617,058<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">&#160;Total liabilities and shareholders' equity</a></td>
<td class="nump">$ 2,219,376<span></span>
</td>
<td class="nump">$ 2,191,614<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118952595&amp;loc=d3e4428-111522<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=118952595&amp;loc=d3e4531-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(9))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118952595&amp;loc=d3e4428-111522<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 11<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=d3e637-108580<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=SL7669686-108580<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=118930883&amp;loc=d3e681-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -URI http://asc.fasb.org/extlink&amp;oid=115929826&amp;loc=d3e8736-108599<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6801-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.9)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=118932676&amp;loc=d3e3044-108585<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03.(a),19)<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 450<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118942415&amp;loc=d3e14326-108349<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130531-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130532-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130532-203044<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=118944033&amp;loc=SL49130531-203044<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130549-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32537-109319<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=116821951&amp;loc=d3e31931-109318<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=77989000&amp;loc=SL49117168-202975<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=99380562&amp;loc=d3e13770-109266<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying amount as of the balance sheet date of income taxes previously overpaid to tax authorities (such as U.S. Federal, state and local tax authorities) representing refunds of overpayments or recoveries based on agreed-upon resolutions of disputes. Also called income tax refund receivable.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(10))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=66006027&amp;loc=d3e16323-109275<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6388964&amp;loc=d3e16212-109274<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentsAndOtherNoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investments, and noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsAndOtherNoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermLineOfCredit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the noncurrent portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -URI http://asc.fasb.org/extlink&amp;oid=99376301&amp;loc=d3e1336-112600<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 470<br> -SubTopic 10<br> -Section 45<br> -Paragraph 13<br> -URI http://asc.fasb.org/extlink&amp;oid=99376301&amp;loc=d3e1314-112600<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermLineOfCredit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 842<br> -SubTopic 20<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77888419&amp;loc=SL77918627-209977<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.8)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PreferredStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PreferredStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits within a future period of one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 2<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6787-107765<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)<br> -URI http://asc.fasb.org/extlink&amp;oid=118951113&amp;loc=d3e6676-107765<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 340<br> -SubTopic 10<br> -Section 05<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=68074540&amp;loc=d3e5879-108316<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6391035&amp;loc=d3e2868-110229<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The cumulative amount of the reporting entity's undistributed earnings or deficit.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -URI http://asc.fasb.org/extlink&amp;oid=27012166&amp;loc=d3e187085-122770<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermInvestments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(4))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(6))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(5))<br> -URI http://asc.fasb.org/extlink&amp;oid=6876686&amp;loc=d3e534808-122878<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(1)(g))<br> -URI http://asc.fasb.org/extlink&amp;oid=119400593&amp;loc=d3e572229-122910<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(2))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermInvestments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 310<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -URI http://asc.fasb.org/extlink&amp;oid=27010918&amp;loc=d3e74512-122707<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TaxesPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19,20)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TaxesPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=6405834&amp;loc=d3e23315-112656<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -URI http://asc.fasb.org/extlink&amp;oid=6877327&amp;loc=d3e13212-122682<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6405813&amp;loc=d3e23239-112655<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.20.1</span><table class="report" border="0" cellspacing="2" id="idp6821833488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Segment and Related Information - Schedule of Segment Revenues and Operations (Detail) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2020</div></th>
<th class="th"><div>Mar. 31, 2019</div></th>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">$ 276,541<span></span>
</td>
<td class="nump">$ 247,066<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">33,893<span></span>
</td>
<td class="nump">34,491<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segments | Enterprise Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">250,177<span></span>
</td>
<td class="nump">221,035<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">60,472<span></span>
</td>
<td class="nump">55,474<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember', window );">Operating segments | Appraisal&#160;and&#160;Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">30,381<span></span>
</td>
<td class="nump">29,587<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">6,908<span></span>
</td>
<td class="nump">7,095<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember', window );">Intercompany</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="num">(4,019)<span></span>
</td>
<td class="num">(3,553)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember', window );">Intercompany | Enterprise Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">4,001<span></span>
</td>
<td class="nump">3,484<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember', window );">Intercompany | Appraisal&#160;and&#160;Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">18<span></span>
</td>
<td class="nump">69<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember', window );">Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="num">(4,017)<span></span>
</td>
<td class="num">(3,556)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="num">(20,068)<span></span>
</td>
<td class="num">(16,546)<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ConsolidationItemsAxis=tyl_OperatingSegmentsAndCorporateNonSegmentMember', window );">Operating segment and corporate non-segment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">47,312<span></span>
</td>
<td class="nump">46,023<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_LicenseMember', window );">Software licenses and royalties</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">18,737<span></span>
</td>
<td class="nump">21,793<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_LicenseMember', window );">Software licenses and royalties | Enterprise Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">15,951<span></span>
</td>
<td class="nump">18,522<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_LicenseMember', window );">Software licenses and royalties | Appraisal&#160;and&#160;Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">2,786<span></span>
</td>
<td class="nump">3,271<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_LicenseMember', window );">Software licenses and royalties | Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_SubscriptionAndCirculationMember', window );">Subscriptions</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">81,723<span></span>
</td>
<td class="nump">67,275<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_SubscriptionAndCirculationMember', window );">Subscriptions | Enterprise Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">76,644<span></span>
</td>
<td class="nump">63,255<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_SubscriptionAndCirculationMember', window );">Subscriptions | Appraisal&#160;and&#160;Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">5,079<span></span>
</td>
<td class="nump">4,020<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_SubscriptionAndCirculationMember', window );">Subscriptions | Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_TechnologyServiceMember', window );">Software services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">52,133<span></span>
</td>
<td class="nump">48,443<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_TechnologyServiceMember', window );">Software services | Enterprise Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">44,949<span></span>
</td>
<td class="nump">40,456<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_TechnologyServiceMember', window );">Software services | Appraisal&#160;and&#160;Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">7,184<span></span>
</td>
<td class="nump">7,987<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_TechnologyServiceMember', window );">Software services | Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_MaintenanceMember', window );">Maintenance</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">114,365<span></span>
</td>
<td class="nump">100,152<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_MaintenanceMember', window );">Maintenance | Enterprise Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">104,841<span></span>
</td>
<td class="nump">91,188<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_MaintenanceMember', window );">Maintenance | Appraisal&#160;and&#160;Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">9,524<span></span>
</td>
<td class="nump">8,964<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_MaintenanceMember', window );">Maintenance | Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tyl_AppraisalServicesMember', window );">Appraisal services</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">5,763<span></span>
</td>
<td class="nump">5,214<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tyl_AppraisalServicesMember', window );">Appraisal services | Enterprise Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tyl_AppraisalServicesMember', window );">Appraisal services | Appraisal&#160;and&#160;Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">5,763<span></span>
</td>
<td class="nump">5,214<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tyl_AppraisalServicesMember', window );">Appraisal services | Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Hardware and other</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">3,820<span></span>
</td>
<td class="nump">4,189<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Hardware and other | Enterprise Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">3,791<span></span>
</td>
<td class="nump">4,130<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Hardware and other | Appraisal&#160;and&#160;Tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">27<span></span>
</td>
<td class="nump">62<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_srt_ProductOrServiceAxis=us-gaap_ProductMember', window );">Hardware and other | Corporate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SegmentReportingInformationLineItems', window );"><strong>Segment Reporting Information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Total Revenue</a></td>
<td class="nump">$ 2<span></span>
</td>
<td class="num">$ (3)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130543-203045<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 606<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -URI http://asc.fasb.org/extlink&amp;oid=118956577&amp;loc=SL49130545-203045<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingInformationLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingInformationLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=tyl_EnterpriseSoftwareMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=tyl_EnterpriseSoftwareMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementBusinessSegmentsAxis=tyl_AppraisalAndTaxMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementBusinessSegmentsAxis=tyl_AppraisalAndTaxMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=us-gaap_CorporateNonSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ConsolidationItemsAxis=tyl_OperatingSegmentsAndCorporateNonSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ConsolidationItemsAxis=tyl_OperatingSegmentsAndCorporateNonSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_LicenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_LicenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_SubscriptionAndCirculationMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_SubscriptionAndCirculationMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_TechnologyServiceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_TechnologyServiceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_MaintenanceMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_MaintenanceMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=tyl_AppraisalServicesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=tyl_AppraisalServicesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=us-gaap_ProductMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=us-gaap_ProductMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
